En ligne  

/v1/discovery/

Public place discovery and indicative reservation pricing for agents. No account actions.
GET

/v1/discovery/get_best_places

#
Get the AppointmentTrader city hotlist. Ranking is not evidence of available reservations. Public-by-design: exposes public city rankings, without account data or API charges.

Paramètres

NomTypeObligatoireValeur par défautDescription
citySlug string Oui — Canonical city slug from /v1/discovery/get_cities.
categorySlug string Non "" Optional canonical category, such as restaurants.
pageSize int Non 10 Number of results, 1-25.
pageNumber int Non 0 Zero-based page, 0-20.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/discovery/get_best_places' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'citySlug={{citySlug}}' \
  --data-urlencode 'categorySlug={{categorySlug}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'pageNumber={{pageNumber}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$discovery_get_best_places_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.cityobject Oui
$.oneOf[0].allOf[1].Payload.city.cityName Oui
$.oneOf[0].allOf[1].Payload.city.cityName.anyOf[0]string Oui
$.oneOf[0].allOf[1].Payload.city.cityName.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.city.citySlugstring Oui
$.oneOf[0].allOf[1].Payload.city.countryCode Oui
$.oneOf[0].allOf[1].Payload.city.countryCode.anyOf[0]string Oui
$.oneOf[0].allOf[1].Payload.city.countryCode.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.city.isoRegion Non
$.oneOf[0].allOf[1].Payload.city.isoRegion.anyOf[0]string Non
$.oneOf[0].allOf[1].Payload.city.isoRegion.anyOf[1]null Non
$.oneOf[0].allOf[1].Payload.city.stateShort Non
$.oneOf[0].allOf[1].Payload.city.stateShort.anyOf[0]string Non
$.oneOf[0].allOf[1].Payload.city.stateShort.anyOf[1]null Non
$.oneOf[0].allOf[1].Payload.placesarray Oui
$.oneOf[0].allOf[1].Payload.places[]object Non
$.oneOf[0].allOf[1].Payload.places[].locationAliasstring Oui
$.oneOf[0].allOf[1].Payload.places[].namestring Oui
$.oneOf[0].allOf[1].Payload.places[].cityNamestring Oui
$.oneOf[0].allOf[1].Payload.places[].citySlugstring Oui
$.oneOf[0].allOf[1].Payload.places[].countryCodestring Oui
$.oneOf[0].allOf[1].Payload.places[].categorySlugstring Oui
$.oneOf[0].allOf[1].Payload.places[].addressstring Oui
$.oneOf[0].allOf[1].Payload.places[].urlstring Oui
$.oneOf[0].allOf[1].Payload.places[].rankinteger Oui
$.oneOf[0].allOf[1].Payload.places[].locationIDinteger Oui
$.oneOf[0].allOf[1].Payload.rankingBasis = "AppointmentTrader city hotlist" Oui
$.oneOf[0].allOf[1].Payload.rankingCacheSeconds = 86400 Oui
$.oneOf[0].allOf[1].Payload.availabilityIncluded = false Oui
$.oneOf[0].allOf[1].Payload.checkedAtstring Oui
$.oneOf[0].allOf[1].Payload.paginationobject Oui
$.oneOf[0].allOf[1].Payload.pagination.pageSizeinteger Oui
$.oneOf[0].allOf[1].Payload.pagination.pageNumberinteger Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.pagination.hasMoreboolean Oui
$.oneOf[0].allOf[1].Payload.pagination.refineSearchboolean Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/discovery/get_best_places",
    "RequestUserAlias": "example-user",
    "Payload": {
        "city": {
            "cityName": "synthetic-example",
            "citySlug": "synthetic-example",
            "countryCode": "synthetic-example"
        },
        "places": [],
        "rankingBasis": "AppointmentTrader city hotlist",
        "rankingCacheSeconds": 86400,
        "availabilityIncluded": false,
        "checkedAt": "2030-01-01T12:00:00Z",
        "pagination": {
            "pageSize": 1,
            "pageNumber": 0,
            "nextPageNumber": 1,
            "hasMore": false,
            "refineSearch": false
        }
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/discovery/get_cities

#
Find canonical cities and airport-backed markets; choose among ambiguous matches. Public-by-design: exposes only public city metadata, without account data or API charges.

Paramètres

NomTypeObligatoireValeur par défautDescription
searchFilter string Non "" Literal city name to search.
pageSize int Non 10 Number of results, 1-25.
pageNumber int Non 0 Zero-based page, 0-20.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/discovery/get_cities' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'searchFilter={{searchFilter}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'pageNumber={{pageNumber}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$discovery_get_cities_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.citiesarray Oui
$.oneOf[0].allOf[1].Payload.cities[]object Non
$.oneOf[0].allOf[1].Payload.cities[].cityIDinteger Oui
$.oneOf[0].allOf[1].Payload.cities[].cityName Oui
$.oneOf[0].allOf[1].Payload.cities[].cityName.anyOf[0]string Oui
$.oneOf[0].allOf[1].Payload.cities[].cityName.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.cities[].citySlugstring Oui
$.oneOf[0].allOf[1].Payload.cities[].cityCode Oui
$.oneOf[0].allOf[1].Payload.cities[].cityCode.anyOf[0]string Oui
$.oneOf[0].allOf[1].Payload.cities[].cityCode.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.cities[].countryCode Oui
$.oneOf[0].allOf[1].Payload.cities[].countryCode.anyOf[0]string Oui
$.oneOf[0].allOf[1].Payload.cities[].countryCode.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.cities[].regionCode Oui
$.oneOf[0].allOf[1].Payload.cities[].regionCode.anyOf[0]string Oui
$.oneOf[0].allOf[1].Payload.cities[].regionCode.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.checkedAtstring Oui
$.oneOf[0].allOf[1].Payload.paginationobject Oui
$.oneOf[0].allOf[1].Payload.pagination.pageSizeinteger Oui
$.oneOf[0].allOf[1].Payload.pagination.pageNumberinteger Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.pagination.hasMoreboolean Oui
$.oneOf[0].allOf[1].Payload.pagination.refineSearchboolean Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/discovery/get_cities",
    "RequestUserAlias": "example-user",
    "Payload": {
        "cities": [],
        "checkedAt": "2030-01-01T12:00:00Z",
        "pagination": {
            "pageSize": 1,
            "pageNumber": 0,
            "nextPageNumber": 1,
            "hasMore": false,
            "refineSearch": false
        }
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/discovery/get_place

#
Read a public place and its valid inventory choices before checking a reservation price. Public-by-design: exposes public venue and inventory metadata, without account data or API charges.

Paramètres

NomTypeObligatoireValeur par défautDescription
locationAlias string Oui — Canonical alias from /v1/discovery/get_places.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/discovery/get_place' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationAlias={{locationAlias}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$discovery_get_place_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.locationIDinteger Oui
$.oneOf[0].allOf[1].Payload.locationAliasstring Oui
$.oneOf[0].allOf[1].Payload.namestring Oui
$.oneOf[0].allOf[1].Payload.cityNamestring Oui
$.oneOf[0].allOf[1].Payload.citySlugstring Oui
$.oneOf[0].allOf[1].Payload.countryCodestring Oui
$.oneOf[0].allOf[1].Payload.regionCodestring Oui
$.oneOf[0].allOf[1].Payload.addressstring Oui
$.oneOf[0].allOf[1].Payload.timezonestring Oui
$.oneOf[0].allOf[1].Payload.categorySlugstring Oui
$.oneOf[0].allOf[1].Payload.urlstring Oui
$.oneOf[0].allOf[1].Payload.timeRangeUnitstring Oui
$.oneOf[0].allOf[1].Payload.maxTimeRangeUnitsinteger Oui
$.oneOf[0].allOf[1].Payload.reservationPricingAllowedboolean Oui
$.oneOf[0].allOf[1].Payload.inventoryTypesarray Oui
$.oneOf[0].allOf[1].Payload.inventoryTypes[]object Non
$.oneOf[0].allOf[1].Payload.inventoryTypes[].inventoryTypeIDinteger Oui
$.oneOf[0].allOf[1].Payload.inventoryTypes[].namestring Oui
$.oneOf[0].allOf[1].Payload.inventoryTypes[].headcount Oui
$.oneOf[0].allOf[1].Payload.inventoryTypes[].headcount.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.inventoryTypes[].headcount.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.checkedAtstring Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/discovery/get_place",
    "RequestUserAlias": "example-user",
    "Payload": {
        "locationID": 0,
        "locationAlias": "synthetic-example",
        "name": "synthetic-example",
        "cityName": "synthetic-example",
        "citySlug": "synthetic-example",
        "countryCode": "synthetic-example",
        "regionCode": "synthetic-example",
        "address": "synthetic-example",
        "timezone": "synthetic-example",
        "categorySlug": "synthetic-example",
        "url": "synthetic-example",
        "timeRangeUnit": "synthetic-example",
        "maxTimeRangeUnits": 0,
        "reservationPricingAllowed": false,
        "inventoryTypes": [],
        "checkedAt": "2030-01-01T12:00:00Z"
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/discovery/get_places

#
Search public place names and aliases. Resolve the intended place from these matches. Public-by-design: exposes public place metadata only, without account data or API charges.

Paramètres

NomTypeObligatoireValeur par défautDescription
searchFilter string Oui — Literal place name, at least two characters.
citySlug string Non "" Optional canonical city slug from /v1/discovery/get_cities.
pageSize int Non 10 Number of results, 1-25.
pageNumber int Non 0 Zero-based page, 0-20.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/discovery/get_places' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'searchFilter={{searchFilter}}' \
  --data-urlencode 'citySlug={{citySlug}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'pageNumber={{pageNumber}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$discovery_get_places_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.placesarray Oui
$.oneOf[0].allOf[1].Payload.places[]object Non
$.oneOf[0].allOf[1].Payload.places[].locationIDinteger Oui
$.oneOf[0].allOf[1].Payload.places[].locationAliasstring Oui
$.oneOf[0].allOf[1].Payload.places[].namestring Oui
$.oneOf[0].allOf[1].Payload.places[].cityNamestring Oui
$.oneOf[0].allOf[1].Payload.places[].citySlugstring Oui
$.oneOf[0].allOf[1].Payload.places[].countryCodestring Oui
$.oneOf[0].allOf[1].Payload.places[].regionCodestring Oui
$.oneOf[0].allOf[1].Payload.places[].addressstring Oui
$.oneOf[0].allOf[1].Payload.places[].timezonestring Oui
$.oneOf[0].allOf[1].Payload.places[].categorySlugstring Oui
$.oneOf[0].allOf[1].Payload.places[].urlstring Oui
$.oneOf[0].allOf[1].Payload.checkedAtstring Oui
$.oneOf[0].allOf[1].Payload.paginationobject Oui
$.oneOf[0].allOf[1].Payload.pagination.pageSizeinteger Oui
$.oneOf[0].allOf[1].Payload.pagination.pageNumberinteger Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.pagination.hasMoreboolean Oui
$.oneOf[0].allOf[1].Payload.pagination.refineSearchboolean Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/discovery/get_places",
    "RequestUserAlias": "example-user",
    "Payload": {
        "places": [],
        "checkedAt": "2030-01-01T12:00:00Z",
        "pagination": {
            "pageSize": 1,
            "pageNumber": 0,
            "nextPageNumber": 1,
            "hasMore": false,
            "refineSearch": false
        }
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/discovery/get_reservation_pricing

#
Check public listings and an indicative reservation acquisition price for a specific venue-local window. Historical comps, external references and configured defaults are labeled separately. This is not a checkout quote, does not include all fees or the meal unless explicitly stated, and never guarantees availability or creates a bid. Public-by-design: public inventory and anonymized price evidence only; no account data or API charges.

Paramètres

NomTypeObligatoireValeur par défautDescription
locationAlias string Oui — Canonical alias from /v1/discovery/get_places.
inventoryTypeID int Oui — Canonical inventory ID from /v1/discovery/get_place.
date string Oui — Venue-local date, YYYY-MM-DD.
startHour int Oui — Inclusive venue-local start hour, 0-23.
endHour int Oui — Exclusive venue-local end hour, 1-24.
timeRangeUnits int Non 1 Category duration, default 1; day categories require hours 0-24.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/discovery/get_reservation_pricing' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationAlias={{locationAlias}}' \
  --data-urlencode 'inventoryTypeID={{inventoryTypeID}}' \
  --data-urlencode 'date={{date}}' \
  --data-urlencode 'startHour={{startHour}}' \
  --data-urlencode 'endHour={{endHour}}' \
  --data-urlencode 'timeRangeUnits={{timeRangeUnits}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$discovery_get_reservation_pricing_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.locationobject Oui
$.oneOf[0].allOf[1].Payload.location.aliasstring Oui
$.oneOf[0].allOf[1].Payload.location.namestring Oui
$.oneOf[0].allOf[1].Payload.location.urlstring Oui
$.oneOf[0].allOf[1].Payload.location.timezonestring Oui
$.oneOf[0].allOf[1].Payload.location.timezoneSource = "location_configuration" Oui
$.oneOf[0].allOf[1].Payload.inventoryobject Oui
$.oneOf[0].allOf[1].Payload.inventory.idinteger Oui
$.oneOf[0].allOf[1].Payload.inventory.namestring Oui
$.oneOf[0].allOf[1].Payload.inventory.priceIncludesServiceboolean Oui
$.oneOf[0].allOf[1].Payload.requestobject Oui
$.oneOf[0].allOf[1].Payload.request.datestring Oui
$.oneOf[0].allOf[1].Payload.request.endDatestring Oui
$.oneOf[0].allOf[1].Payload.request.startHourinteger Oui
$.oneOf[0].allOf[1].Payload.request.endHourinteger Oui
$.oneOf[0].allOf[1].Payload.request.endHourExclusive = true Oui
$.oneOf[0].allOf[1].Payload.request.timeRangeUnitstring ["Hour","Day"] Oui
$.oneOf[0].allOf[1].Payload.request.timeRangeUnitsinteger Oui
$.oneOf[0].allOf[1].Payload.availabilityobject Oui
$.oneOf[0].allOf[1].Payload.availability.statusstring ["restricted","no_public_listings","listings_disabled","available","no_public_listings_in_returned_sample"] Oui
$.oneOf[0].allOf[1].Payload.availability.matchingListingCountinteger Oui
$.oneOf[0].allOf[1].Payload.availability.resultSetCompleteboolean Oui
$.oneOf[0].allOf[1].Payload.availability.lowestAskingPriceMinor Oui
$.oneOf[0].allOf[1].Payload.availability.lowestAskingPriceMinor.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.availability.lowestAskingPriceMinor.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.availability.currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.availability.listingsarray Oui
$.oneOf[0].allOf[1].Payload.availability.listings[]object Non
$.oneOf[0].allOf[1].Payload.availability.listings[].listingIDstring Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].datestring Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].endDatestring Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].timeWindow Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].timeWindow.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].timeWindow.anyOf[0].startHourinteger Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].timeWindow.anyOf[0].endHourinteger Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].timeWindow.anyOf[0].exactTimeDisclosed = false Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].timeWindow.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].askingPriceMinorinteger Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].isCheckoutQuote = false Oui
$.oneOf[0].allOf[1].Payload.availability.listings[].urlstring Oui
$.oneOf[0].allOf[1].Payload.availability.observedAtstring Oui
$.oneOf[0].allOf[1].Payload.estimateDiscoveryPriceEstimate Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0]object Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].amountMinorinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].lowAmountMinor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].highAmountMinor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].source = "external_reference" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].sampleCountinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].sameLocationSampleCount = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].inventoryMatch = "exact" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].priceFactor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].requestedDurationMatched = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].isHistoricalEvidence = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].isGuaranteed = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].scope = "recorded_provider_rates_for_requested_dates" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[0].requiresLiveProviderConfirmation = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1]object Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].amountMinorinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].lowAmountMinor Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].lowAmountMinor.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].lowAmountMinor.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].highAmountMinor Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].highAmountMinor.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].highAmountMinor.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].source = "completed_transactions" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].sampleCountinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].sameLocationSampleCountinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].inventoryMatchstring ["exact","category_scaled"] Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].priceFactor Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].priceFactor.anyOf[0]number Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].priceFactor.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].requestedDurationMatchedboolean Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].isHistoricalEvidence = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].isGuaranteed = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].scopestring ["same_location","same_category_nearest_locations_first"] Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].sampleLimit = 5 Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].lookbackMonthsinteger [3,24] Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].lookbackDateField = "transaction_last_updated" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].completionDateRangeKnown = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].comparableDaysNoticeinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[1].comparableMaturityTimezonestring Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2]object Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].amountMinorinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].lowAmountMinor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].highAmountMinor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].source = "external_history" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].sampleCount = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].sameLocationSampleCount = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].inventoryMatch = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].priceFactor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].requestedDurationMatched = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].isHistoricalEvidence = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].isGuaranteed = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].scope = "inventory_popularity_and_maturity_with_canonical_fallback" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[2].containsPricingAdjustment = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3]object Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].amountMinorinteger Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].lowAmountMinor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].highAmountMinor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].source = "configured_default" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].sampleCount = 0 Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].sameLocationSampleCount = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].inventoryMatch = "configured_inventory_default" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].priceFactor = null Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].requestedDurationMatched = true Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].isHistoricalEvidence = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].isGuaranteed = false Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[3].scope = "configured_starting_amount_without_comparable_evidence" Oui
$.oneOf[0].allOf[1].Payload.estimate.oneOf[4]null Oui
$.oneOf[0].allOf[1].Payload.pricingContextobject Oui
$.oneOf[0].allOf[1].Payload.pricingContext.popularityBracket Oui
$.oneOf[0].allOf[1].Payload.pricingContext.popularityBracket.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.pricingContext.popularityBracket.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.pricingContext.daysNoticeinteger Oui
$.oneOf[0].allOf[1].Payload.pricingContext.observedAtstring Oui
$.oneOf[0].allOf[1].Payload.isCheckoutQuote = false Oui
$.oneOf[0].allOf[1].Payload.additionalFeesMayApply = true Oui
$.oneOf[0].allOf[1].Payload.guaranteesAvailability = false Oui
$.oneOf[0].allOf[1].Payload.canPlaceBid = false Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/discovery/get_reservation_pricing",
    "RequestUserAlias": "example-user",
    "Payload": {
        "location": {
            "alias": "synthetic-example",
            "name": "synthetic-example",
            "url": "synthetic-example",
            "timezone": "synthetic-example",
            "timezoneSource": "location_configuration"
        },
        "inventory": {
            "id": 0,
            "name": "synthetic-example",
            "priceIncludesService": false
        },
        "request": {
            "date": "2030-01-15",
            "endDate": "2030-01-15",
            "startHour": 0,
            "endHour": 0,
            "endHourExclusive": true,
            "timeRangeUnit": "Hour",
            "timeRangeUnits": 0
        },
        "availability": {
            "status": "restricted",
            "matchingListingCount": 0,
            "resultSetComplete": false,
            "lowestAskingPriceMinor": 0,
            "currency": "USD",
            "listings": [],
            "observedAt": "2030-01-01T12:00:00Z"
        },
        "estimate": {
            "currency": "USD",
            "amountMinor": 0,
            "lowAmountMinor": null,
            "highAmountMinor": null,
            "source": "external_reference",
            "sampleCount": 0,
            "sameLocationSampleCount": null,
            "inventoryMatch": "exact",
            "priceFactor": null,
            "requestedDurationMatched": true,
            "isHistoricalEvidence": false,
            "isGuaranteed": false,
            "scope": "recorded_provider_rates_for_requested_dates",
            "requiresLiveProviderConfirmation": true
        },
        "pricingContext": {
            "popularityBracket": 0,
            "daysNotice": 0,
            "observedAt": "2030-01-01T12:00:00Z"
        },
        "isCheckoutQuote": false,
        "additionalFeesMayApply": true,
        "guaranteesAvailability": false,
        "canPlaceBid": false
    }
}
Documentation du point de terminaison lisible par machine