OpenAPI V12 GraphQL API
V12 OpenAPI GraphQL API Documentation
API Endpoints
# OpenAPI V12 production environment:
https://open-api.v12booking.com.br/v1/graphql
# OpenAPI V12 development environment:
https://open-api-dev.v12bookings.com.br/v1/graphql
Headers
X-Public-Key: XXXXXXXXXXXXXXXXXXXXXXXX
X-Secret-Key: XXXXXXXXXXXXXXXXXXXXXXXX
Correlation-ID: XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX
Version
1.0.0
Introduction
V12 Booking is the Tourism Marketplace that connects suppliers, providers, operators, and travel agencies, facilitating the buying and selling of tourism products and services.
Operators and agencies no longer need to worry about creating integrations with dozens of different APIs to access products. Instead, they will have a robust and fully configurable booking engine.
Getting Started
Hotel Inventory
First and foremost, have the file v12-hotels.csv ready in your infrastructure (contact our support team to request it) where the mapped ID of each hotel is provided. It's essential to highlight that hotel searches must be performed within your application. Therefore, we only provide a mapped and updated database.
Public and Secret Keys
Go to the Settings > API Keys menu and then click the "+ Add" button to create your Public and Secret Keys. Choose the user responsible for creating searches and reservations. Don't forget to copy the generated keys to use them in the request headers.
Overview
Endpoint
All requests will be executed on the GraphQL API:
https://open-api-dev.v12bookings.com.br/v1/graphql
Headers
To interact with the API, you'll need to include three essential request headers:
Content-Type: application/json
X-Public-Key: YOUR-PUBLIC-KEY-STRING
X-Secret-Key: YOUR-SECRET-KEY-STRING
Correlation-ID: YOUR-CORRELATION-ID
Playground
To use playground, you can access on your browser:
https://open-api-dev.v12bookings.com.br/v1/
Booking Flow
The hotel booking flow generally follows these steps:
- Create a search (Mutation: accommodationCreateSearch)
- View hotel and availability (Query: accommodationHotelDetails)
- Get updated availability pricing and create an intent (Query: accommodationLastPrice)
- Create the booking (Mutation: createBooking)
API Errors
| Code | Error | Description |
|---|---|---|
| 400-001 | Validation error | Occurs when the input data does not meet the required format or constraints. |
| 400-002 | Empty value error | Occurs when a required field is provided with an empty value. |
| 400-003 | Invalid value error | Occurs when a field contains an invalid value that does not conform to the expected format or range. |
| 401-001 | Unauthorized error | Occurs when authentication credentials are missing or invalid. |
| 403-001 | Forbidden | Occurs when the user does not have permission to access the requested resource. |
| 404-001 | Resource not found error | Occurs when the requested resource could not be found on the server. |
| 404-002 | Api Key not found | Occurs when the provided API key does not exist or is invalid. |
| 404-003 | Search token expired | Occurs when the search token has expired and is no longer valid. |
| 404-004 | Correlation ID not found | Occurs when the Correlation-ID is missing from the request context. |
| 500-001 | Internal server error | Occurs when an unexpected error happens on the server. |
Queries
accommodationHotelDetails
Description
All available hotel details used on a created accommodation search
Response
Returns a Hotel
Arguments
| Name | Description |
|---|---|
input - HotelDetailsInput!
|
Example
Query
query accommodationHotelDetails($input: HotelDetailsInput!) {
accommodationHotelDetails(input: $input) {
address
cityCode
cityName
countryCode
countryName
emails
lastRefreshedOn
latitude
longitude
postalCode
propertyType
rating
stateCode
stateName
tags
id
facilities {
name
groupId
}
images {
links {
size
providerHref
}
}
image {
size
providerHref
}
availability {
hotelId
providerName
providerSearchToken
providerRoomToken
isTestMode
rates {
intentToken
ratesId
description
supplierAmount
supplierCurrency
totalRate
currency
refundability
occupancies {
rateID
room {
id
name
description
views
beds {
...BedFragment
}
}
policies {
type
text
}
}
mealPlan {
description
type
code
}
cancellationPolicies {
start
end
estimatedValue
}
additionalCharges {
type
description
amount
currency
unit
}
}
intentToken
}
brandName
descriptions {
text
type
}
name
phones
}
}
Variables
{"input": HotelDetailsInput}
Response
{
"data": {
"accommodationHotelDetails": {
"address": "V12",
"cityCode": "V12",
"cityName": "V12",
"countryCode": "V12",
"countryName": "V12",
"emails": ["V12"],
"lastRefreshedOn": "V12",
"latitude": 987.65,
"longitude": 987.65,
"postalCode": "V12",
"propertyType": "V12",
"rating": "V12",
"stateCode": "V12",
"stateName": "V12",
"tags": ["V12"],
"id": 777,
"facilities": [Facility],
"images": [Images],
"image": Image,
"availability": [AvailabilitySchema],
"brandName": "V12",
"descriptions": [Descriptions],
"name": "V12",
"phones": ["V12"]
}
}
}
accommodationLastPrice
Description
Updated room price from a specific hotel
Response
Returns an AvailabilitySchema
Arguments
| Name | Description |
|---|---|
input - HotelLastPriceInput!
|
Example
Query
query accommodationLastPrice($input: HotelLastPriceInput!) {
accommodationLastPrice(input: $input) {
hotelId
providerName
providerSearchToken
providerRoomToken
isTestMode
rates {
intentToken
ratesId
description
supplierAmount
supplierCurrency
totalRate
currency
refundability
occupancies {
rateID
room {
id
name
description
views
beds {
type
description
count
size
}
}
policies {
type
text
}
}
mealPlan {
description
type
code
}
cancellationPolicies {
start
end
estimatedValue
}
additionalCharges {
type
description
amount
currency
unit
}
}
intentToken
}
}
Variables
{"input": HotelLastPriceInput}
Response
{
"data": {
"accommodationLastPrice": {
"hotelId": "V12",
"providerName": "V12",
"providerSearchToken": "V12",
"providerRoomToken": "V12",
"isTestMode": true,
"rates": [Rate],
"intentToken": "V12"
}
}
}
accommodationMealPlans
Description
All available meal plan strategies used in accommodation search
Response
Returns a MealPlansResponse
Example
Query
query accommodationMealPlans {
accommodationMealPlans {
total
data {
key
name
}
}
}
Response
{
"data": {
"accommodationMealPlans": {
"total": 5,
"data": [
{"key": "breakfast_included", "name": "Breakfast Included"},
{"key": "all_inclusive", "name": "All Inclusive"}
]
}
}
}
accommodationPropertyTypes
Description
All available property types in accommodation search
Response
Returns a PropertyTypeResponse
Example
Query
query accommodationPropertyTypes {
accommodationPropertyTypes {
total
data {
key
name
}
}
}
Response
{
"data": {
"accommodationPropertyTypes": {
"total": 18,
"data": [
{"key": "hotel", "name": "Hotel"},
{"key": "hostel", "name": "Hostel"}
]
}
}
}
booking
Description
Check a specific booking by id
Example
Query
query booking(
$ID: Int,
$reference: String
) {
booking(
ID: $ID,
reference: $reference
) {
bookingStatus
cancellationDate
cancellationExpireDate
commissionAmount
commissionCurrency
commissionCurrentExchange
contactId
contactName
createdAsId
createdAsName
createdAt
createdById
createdByName
currentExchange
customReference
deadline
deletedAt
dueDate
finalCommissionAmount
finalSalePriceAmount
finalSalePriceAmountManuallyUpdatedAt
id
intent {
id
uuid
createdAt
updatedAt
deletedAt
expiresAt
commissionAmount
commissionCurrency
commissionCurrentExchange
connectionId
connectionName
createdAsEmail
createdAsId
createdAsName
createdByEmail
createdById
createdByName
currentExchange
isMarketplace
isRefundable
isTestMode
marketplaceCommissionAmount
marketplaceCommissionCurrency
marketplaceMarkup
marketplaceMarkupCurrency
marketplaceMarkupCurrentExchange
marketplaceOrganizationId
marketplaceOrganizationName
marketplaceSaleAmount
marketplaceSaleCurrency
marketplaceSupplierAmount
marketplaceSupplierCurrency
marketplaceSupplierCurrentExchange
marketplaceSupplierName
markupAmount
markupCurrency
markupCurrentExchange
organizationId
organizationName
pricingId
productId
saleCurrency
saleCurrentExchange
salePriceAmount
searchToken
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierCurrency
supplierCurrentExchange
supplierName
supplierReference
supplierToken
}
isMarketplace
isPaid
isRefundable
isTestMode
isThirdParty
legacyReference
marketPlaceSaleAmount
markupAmount
markupCurrency
organizationId
organizationName
parentOrganizationId
parentOrganizationName
paymentMethodFeeAmount
paymentMethodFeeCurrency
paymentMethodName
paymentStatus
penaltyAmount
policies {
type
text
}
pricingId
productId
reference
refundTotalAmount
refundTotalConvertedAmount
roomAllocations {
guests {
id
createdAt
updatedAt
deletedAt
nacionality
title
firstName
lastName
middleName
suffix
age
isAdult
passportNumber
passportIssueDate
passportExpDate
}
name
description
roomId
rateId
refunds {
amount
convertedAmount
currency
}
additionalServices
additionalCharges {
type
description
amount
currency
unit
}
cancellationPolicies {
start
end
estimatedValue
}
}
saleCurrency
saleCurrentExchange
saleId
salePriceAmount
searchToken
serviceConfirmationReference
serviceDetails {
address
city
country
description
geoCode {
lat
lon
}
image
name
state
}
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierAmountManuallyUpdatedAt
supplierCancellationReference
supplierConfirmationReference
supplierCurrency
supplierName
supplierProviderReference
supplierReference
supplierToken
updatedAt
voucherLinkURL
}
}
Variables
{"ID": 777, "reference": "V12"}
Response
{
"data": {
"booking": {
"bookingStatus": "AWAITING_PROVIDER",
"cancellationDate": "V12",
"cancellationExpireDate": "V12",
"commissionAmount": 987.65,
"commissionCurrency": "AED",
"commissionCurrentExchange": 123.45,
"contactId": 777,
"contactName": "V12",
"createdAsId": 777,
"createdAsName": "V12",
"createdAt": "V12",
"createdById": 777,
"createdByName": "V12",
"currentExchange": 123.45,
"customReference": "V12",
"deadline": "V12",
"deletedAt": "V12",
"dueDate": "V12",
"finalCommissionAmount": 123.45,
"finalSalePriceAmount": 123.45,
"finalSalePriceAmountManuallyUpdatedAt": "V12",
"id": 777,
"intent": Intent,
"isMarketplace": true,
"isPaid": true,
"isRefundable": true,
"isTestMode": true,
"isThirdParty": true,
"legacyReference": "V12",
"marketPlaceSaleAmount": 123.45,
"markupAmount": 123.45,
"markupCurrency": "AED",
"organizationId": 777,
"organizationName": "V12",
"parentOrganizationId": 777,
"parentOrganizationName": "V12",
"paymentMethodFeeAmount": 123.45,
"paymentMethodFeeCurrency": "AED",
"paymentMethodName": "V12",
"paymentStatus": "V12",
"penaltyAmount": 987.65,
"policies": [Policy],
"pricingId": 777,
"productId": 777,
"reference": "V12",
"refundTotalAmount": 123.45,
"refundTotalConvertedAmount": 123.45,
"roomAllocations": [RoomAllocation],
"saleCurrency": "AED",
"saleCurrentExchange": 987.65,
"saleId": 777,
"salePriceAmount": 987.65,
"searchToken": "V12",
"serviceConfirmationReference": "V12",
"serviceDetails": ServiceDetails,
"serviceEndDate": "V12",
"serviceName": "V12",
"serviceCode": "V12",
"serviceStartDate": "V12",
"specialRequests": "V12",
"supplierAmount": 123.45,
"supplierAmountManuallyUpdatedAt": "V12",
"supplierCancellationReference": "V12",
"supplierConfirmationReference": "V12",
"supplierCurrency": "AED",
"supplierName": "V12",
"supplierProviderReference": "V12",
"supplierReference": "V12",
"supplierToken": "V12",
"updatedAt": "V12",
"voucherLinkURL": "V12"
}
}
}
bookings
Response
Returns a BookingResult!
Arguments
| Name | Description |
|---|---|
size - Int
|
|
offset - Int
|
|
filters - BookingFilters
|
|
sort - BookingSort
|
Example
Query
query bookings(
$size: Int,
$offset: Int,
$filters: BookingFilters,
$sort: BookingSort
) {
bookings(
size: $size,
offset: $offset,
filters: $filters,
sort: $sort
) {
data {
bookingStatus
cancellationDate
cancellationExpireDate
commissionAmount
commissionCurrency
commissionCurrentExchange
contactId
contactName
createdAsId
createdAsName
createdAt
createdById
createdByName
currentExchange
customReference
deadline
deletedAt
dueDate
finalCommissionAmount
finalSalePriceAmount
finalSalePriceAmountManuallyUpdatedAt
id
intent {
id
uuid
createdAt
updatedAt
deletedAt
expiresAt
commissionAmount
commissionCurrency
commissionCurrentExchange
connectionId
connectionName
createdAsEmail
createdAsId
createdAsName
createdByEmail
createdById
createdByName
currentExchange
isMarketplace
isRefundable
isTestMode
marketplaceCommissionAmount
marketplaceCommissionCurrency
marketplaceMarkup
marketplaceMarkupCurrency
marketplaceMarkupCurrentExchange
marketplaceOrganizationId
marketplaceOrganizationName
marketplaceSaleAmount
marketplaceSaleCurrency
marketplaceSupplierAmount
marketplaceSupplierCurrency
marketplaceSupplierCurrentExchange
marketplaceSupplierName
markupAmount
markupCurrency
markupCurrentExchange
organizationId
organizationName
pricingId
productId
saleCurrency
saleCurrentExchange
salePriceAmount
searchToken
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierCurrency
supplierCurrentExchange
supplierName
supplierReference
supplierToken
}
isMarketplace
isPaid
isRefundable
isTestMode
isThirdParty
legacyReference
marketPlaceSaleAmount
markupAmount
markupCurrency
organizationId
organizationName
parentOrganizationId
parentOrganizationName
paymentMethodFeeAmount
paymentMethodFeeCurrency
paymentMethodName
paymentStatus
penaltyAmount
policies {
type
text
}
pricingId
productId
reference
refundTotalAmount
refundTotalConvertedAmount
roomAllocations {
guests {
id
createdAt
updatedAt
deletedAt
nacionality
title
firstName
lastName
middleName
suffix
age
isAdult
passportNumber
passportIssueDate
passportExpDate
}
name
description
roomId
rateId
refunds {
amount
convertedAmount
currency
}
additionalServices
additionalCharges {
type
description
amount
currency
unit
}
cancellationPolicies {
start
end
estimatedValue
}
}
saleCurrency
saleCurrentExchange
saleId
salePriceAmount
searchToken
serviceConfirmationReference
serviceDetails {
address
city
country
description
geoCode {
lat
lon
}
image
name
state
}
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierAmountManuallyUpdatedAt
supplierCancellationReference
supplierConfirmationReference
supplierCurrency
supplierName
supplierProviderReference
supplierReference
supplierToken
updatedAt
voucherLinkURL
}
total
}
}
Variables
{
"size": 777,
"offset": 777,
"filters": BookingFilters,
"sort": BookingSort
}
Response
{"data": {"bookings": {"data": [Booking], "total": 777}}}
cancelBooking
Description
Cancel a booking by id
errorMessages
Description
List of available error messages from API
Response
Returns [ErrorMessage]
Example
Query
query errorMessages {
errorMessages {
code
message
}
}
Response
{
"data": {
"errorMessages": [
{
"code": "V12",
"message": "V12"
}
]
}
}
Mutations
createAccommodationSearch
Description
Create a new accommodation search with specified filters
Response
Returns an AccommodationSearchResult
Arguments
| Name | Description |
|---|---|
filters - AccommodationFilters!
|
Filters for the accommodation search |
Example
Query
mutation createAccommodationSearch($filters: AccommodationFilters!) {
createAccommodationSearch(filters: $filters) {
searchToken
expiresAt
}
}
Variables
{"filters": AccommodationFilters}
Response
{
"data": {
"createAccommodationSearch": {
"searchToken": "V12",
"expiresAt": "V12"
}
}
}
createBooking
Description
Create a booking using intent token
Response
Returns a Booking!
Arguments
| Name | Description |
|---|---|
intentToken - String!
|
Token representing the booking intent, which came from AccommodationLastPrice |
input - BookingInput!
|
Input data for creating a booking |
Example
Query
mutation createBooking(
$intentToken: String!,
$input: BookingInput!
) {
createBooking(
intentToken: $intentToken,
input: $input
) {
bookingStatus
cancellationDate
cancellationExpireDate
commissionAmount
commissionCurrency
commissionCurrentExchange
contactId
contactName
createdAsId
createdAsName
createdAt
createdById
createdByName
currentExchange
customReference
deadline
deletedAt
dueDate
finalCommissionAmount
finalSalePriceAmount
finalSalePriceAmountManuallyUpdatedAt
id
intent {
id
uuid
createdAt
updatedAt
deletedAt
expiresAt
commissionAmount
commissionCurrency
commissionCurrentExchange
connectionId
connectionName
createdAsEmail
createdAsId
createdAsName
createdByEmail
createdById
createdByName
currentExchange
isMarketplace
isRefundable
isTestMode
marketplaceCommissionAmount
marketplaceCommissionCurrency
marketplaceMarkup
marketplaceMarkupCurrency
marketplaceMarkupCurrentExchange
marketplaceOrganizationId
marketplaceOrganizationName
marketplaceSaleAmount
marketplaceSaleCurrency
marketplaceSupplierAmount
marketplaceSupplierCurrency
marketplaceSupplierCurrentExchange
marketplaceSupplierName
markupAmount
markupCurrency
markupCurrentExchange
organizationId
organizationName
pricingId
productId
saleCurrency
saleCurrentExchange
salePriceAmount
searchToken
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierCurrency
supplierCurrentExchange
supplierName
supplierReference
supplierToken
}
isMarketplace
isPaid
isRefundable
isTestMode
isThirdParty
legacyReference
marketPlaceSaleAmount
markupAmount
markupCurrency
organizationId
organizationName
parentOrganizationId
parentOrganizationName
paymentMethodFeeAmount
paymentMethodFeeCurrency
paymentMethodName
paymentStatus
penaltyAmount
policies {
type
text
}
pricingId
productId
reference
refundTotalAmount
refundTotalConvertedAmount
roomAllocations {
guests {
id
createdAt
updatedAt
deletedAt
nacionality
title
firstName
lastName
middleName
suffix
age
isAdult
passportNumber
passportIssueDate
passportExpDate
}
name
description
roomId
rateId
refunds {
amount
convertedAmount
currency
}
additionalServices
additionalCharges {
type
description
amount
currency
unit
}
cancellationPolicies {
start
end
estimatedValue
}
}
saleCurrency
saleCurrentExchange
saleId
salePriceAmount
searchToken
serviceConfirmationReference
serviceDetails {
address
city
country
description
geoCode {
lat
lon
}
image
name
state
}
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierAmountManuallyUpdatedAt
supplierCancellationReference
supplierConfirmationReference
supplierCurrency
supplierName
supplierProviderReference
supplierReference
supplierToken
updatedAt
voucherLinkURL
}
}
Variables
{
"intentToken": "V12",
"input": BookingInput
}
Response
{
"data": {
"createBooking": {
"bookingStatus": "AWAITING_PROVIDER",
"cancellationDate": "V12",
"cancellationExpireDate": "V12",
"commissionAmount": 987.65,
"commissionCurrency": "AED",
"commissionCurrentExchange": 123.45,
"contactId": 777,
"contactName": "V12",
"createdAsId": 777,
"createdAsName": "V12",
"createdAt": "V12",
"createdById": 777,
"createdByName": "V12",
"currentExchange": 123.45,
"customReference": "V12",
"deadline": "V12",
"deletedAt": "V12",
"dueDate": "V12",
"finalCommissionAmount": 123.45,
"finalSalePriceAmount": 987.65,
"finalSalePriceAmountManuallyUpdatedAt": "V12",
"id": 777,
"intent": Intent,
"isMarketplace": true,
"isPaid": true,
"isRefundable": true,
"isTestMode": true,
"isThirdParty": true,
"legacyReference": "V12",
"marketPlaceSaleAmount": 123.45,
"markupAmount": 123.45,
"markupCurrency": "AED",
"organizationId": 777,
"organizationName": "V12",
"parentOrganizationId": 777,
"parentOrganizationName": "V12",
"paymentMethodFeeAmount": 987.65,
"paymentMethodFeeCurrency": "AED",
"paymentMethodName": "V12",
"paymentStatus": "V12",
"penaltyAmount": 123.45,
"policies": [Policy],
"pricingId": 777,
"productId": 777,
"reference": "V12",
"refundTotalAmount": 987.65,
"refundTotalConvertedAmount": 123.45,
"roomAllocations": [RoomAllocation],
"saleCurrency": "AED",
"saleCurrentExchange": 123.45,
"saleId": 777,
"salePriceAmount": 123.45,
"searchToken": "V12",
"serviceConfirmationReference": "V12",
"serviceDetails": ServiceDetails,
"serviceEndDate": "V12",
"serviceName": "V12",
"serviceCode": "V12",
"serviceStartDate": "V12",
"specialRequests": "V12",
"supplierAmount": 123.45,
"supplierAmountManuallyUpdatedAt": "V12",
"supplierCancellationReference": "V12",
"supplierConfirmationReference": "V12",
"supplierCurrency": "AED",
"supplierName": "V12",
"supplierProviderReference": "V12",
"supplierReference": "V12",
"supplierToken": "V12",
"updatedAt": "V12",
"voucherLinkURL": "V12"
}
}
}
updateBooking
Description
Update an existing booking by id
Response
Returns a Booking!
Arguments
| Name | Description |
|---|---|
ID - Int!
|
Booking ID to update |
input - UpdateBookingInput!
|
Input data for updating a booking |
Example
Query
mutation updateBooking(
$ID: Int!,
$input: UpdateBookingInput!
) {
updateBooking(
ID: $ID,
input: $input
) {
bookingStatus
cancellationDate
cancellationExpireDate
commissionAmount
commissionCurrency
commissionCurrentExchange
contactId
contactName
createdAsId
createdAsName
createdAt
createdById
createdByName
currentExchange
customReference
deadline
deletedAt
dueDate
finalCommissionAmount
finalSalePriceAmount
finalSalePriceAmountManuallyUpdatedAt
id
intent {
id
uuid
createdAt
updatedAt
deletedAt
expiresAt
commissionAmount
commissionCurrency
commissionCurrentExchange
connectionId
connectionName
createdAsEmail
createdAsId
createdAsName
createdByEmail
createdById
createdByName
currentExchange
isMarketplace
isRefundable
isTestMode
marketplaceCommissionAmount
marketplaceCommissionCurrency
marketplaceMarkup
marketplaceMarkupCurrency
marketplaceMarkupCurrentExchange
marketplaceOrganizationId
marketplaceOrganizationName
marketplaceSaleAmount
marketplaceSaleCurrency
marketplaceSupplierAmount
marketplaceSupplierCurrency
marketplaceSupplierCurrentExchange
marketplaceSupplierName
markupAmount
markupCurrency
markupCurrentExchange
organizationId
organizationName
pricingId
productId
saleCurrency
saleCurrentExchange
salePriceAmount
searchToken
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierCurrency
supplierCurrentExchange
supplierName
supplierReference
supplierToken
}
isMarketplace
isPaid
isRefundable
isTestMode
isThirdParty
legacyReference
marketPlaceSaleAmount
markupAmount
markupCurrency
organizationId
organizationName
parentOrganizationId
parentOrganizationName
paymentMethodFeeAmount
paymentMethodFeeCurrency
paymentMethodName
paymentStatus
penaltyAmount
policies {
type
text
}
pricingId
productId
reference
refundTotalAmount
refundTotalConvertedAmount
roomAllocations {
guests {
id
createdAt
updatedAt
deletedAt
nacionality
title
firstName
lastName
middleName
suffix
age
isAdult
passportNumber
passportIssueDate
passportExpDate
}
name
description
roomId
rateId
refunds {
amount
convertedAmount
currency
}
additionalServices
additionalCharges {
type
description
amount
currency
unit
}
cancellationPolicies {
start
end
estimatedValue
}
}
saleCurrency
saleCurrentExchange
saleId
salePriceAmount
searchToken
serviceConfirmationReference
serviceDetails {
address
city
country
description
geoCode {
lat
lon
}
image
name
state
}
serviceEndDate
serviceName
serviceCode
serviceStartDate
specialRequests
supplierAmount
supplierAmountManuallyUpdatedAt
supplierCancellationReference
supplierConfirmationReference
supplierCurrency
supplierName
supplierProviderReference
supplierReference
supplierToken
updatedAt
voucherLinkURL
}
}
Variables
{"ID": 777, "input": UpdateBookingInput}
Response
{
"data": {
"updateBooking": {
"bookingStatus": "AWAITING_PROVIDER",
"cancellationDate": "V12",
"cancellationExpireDate": "V12",
"commissionAmount": 123.45,
"commissionCurrency": "AED",
"commissionCurrentExchange": 123.45,
"contactId": 777,
"contactName": "V12",
"createdAsId": 777,
"createdAsName": "V12",
"createdAt": "V12",
"createdById": 777,
"createdByName": "V12",
"currentExchange": 123.45,
"customReference": "V12",
"deadline": "V12",
"deletedAt": "V12",
"dueDate": "V12",
"finalCommissionAmount": 987.65,
"finalSalePriceAmount": 123.45,
"finalSalePriceAmountManuallyUpdatedAt": "V12",
"id": 777,
"intent": Intent,
"isMarketplace": true,
"isPaid": true,
"isRefundable": true,
"isTestMode": true,
"isThirdParty": true,
"legacyReference": "V12",
"marketPlaceSaleAmount": 123.45,
"markupAmount": 987.65,
"markupCurrency": "AED",
"organizationId": 777,
"organizationName": "V12",
"parentOrganizationId": 777,
"parentOrganizationName": "V12",
"paymentMethodFeeAmount": 987.65,
"paymentMethodFeeCurrency": "AED",
"paymentMethodName": "V12",
"paymentStatus": "V12",
"penaltyAmount": 987.65,
"policies": [Policy],
"pricingId": 777,
"productId": 777,
"reference": "V12",
"refundTotalAmount": 987.65,
"refundTotalConvertedAmount": 987.65,
"roomAllocations": [RoomAllocation],
"saleCurrency": "AED",
"saleCurrentExchange": 123.45,
"saleId": 777,
"salePriceAmount": 987.65,
"searchToken": "V12",
"serviceConfirmationReference": "V12",
"serviceDetails": ServiceDetails,
"serviceEndDate": "V12",
"serviceName": "V12",
"serviceCode": "V12",
"serviceStartDate": "V12",
"specialRequests": "V12",
"supplierAmount": 123.45,
"supplierAmountManuallyUpdatedAt": "V12",
"supplierCancellationReference": "V12",
"supplierConfirmationReference": "V12",
"supplierCurrency": "AED",
"supplierName": "V12",
"supplierProviderReference": "V12",
"supplierReference": "V12",
"supplierToken": "V12",
"updatedAt": "V12",
"voucherLinkURL": "V12"
}
}
}
Subscriptions
listenAccommodationSearch
Description
Subscription to listen accommodation search results
Response
Returns an Availability
Example
Query
subscription listenAccommodationSearch(
$token: String!,
$currency: Currency!
) {
listenAccommodationSearch(
token: $token,
currency: $currency
) {
id
vervotechId
providerSearchToken
hotelName
latitude
longitude
image {
size
providerHref
href
}
rating
propertyType
providerRoomToken
providerPriceToken
providerName
marketPlaceProviderToken
rates {
id
rateCombinabilityId
rateCombinabilityType
availability
description
needsPriceCheck
isPackageRate
isContractedRate
type
baseRate
totalRate
minSellingRate
publishedRate
currency
discounts {
description
amount
isIncludedInBaseRate
}
markups {
description
amount
isIncludedInBaseRate
}
refundability
allGuestsInfoRequired
onlineCancellable
specialRequestSupported
payAtHotel
cardRequired
additionalCharges {
type
description
frequency
unit
amount
currency
}
depositRequired
depositAmount
guaranteeRequired
otherRateComponents {
description
amount
isIncludedInBaseRate
}
distributionType
distributionChannel
publishedBaseRate
isPassportMandatory
isPANMandatory
rateIdentifier
additionalInformation {
type
text
}
isChildConvertedToAdult
inclusions
promotions {
code
name
remark
}
commission {
description
amount
isIncludedInBaseRate
}
allowedCreditCards {
type
code
processingCountry
}
cancellationPolicies {
text
rules {
value
valueType
estimatedValue
start
end
}
}
offers {
title
description
type
discountOffer
percentageDiscountOffer
stayOffer {
minNights
discountPercentage
freeNights
}
}
boardBasis {
description
type
code
}
policies {
type
text
}
documentOptions
dailyRates {
amount
date
taxIncluded
discount
tax
}
fees {
amount
description
isIncludedInBaseRate
}
taxes {
amount
description
isIncludedInBaseRate
}
occupancies {
roomId
numOfAdults
numOfChildren
childAges
}
}
rooms {
id
name
code
description
isSmokingAllowed
maxGuestsAllowed
maxAdultsAllowed
maxChildrenAllowed
type
isMappedRoom
views
images {
links {
size
providerHref
}
}
facilities {
name
id
groupName
groupId
}
beds {
type
description
count
size
}
}
isTestMode
}
}
Variables
{"token": "V12", "currency": "AED"}
Response
{
"data": {
"listenAccommodationSearch": {
"id": "V12",
"vervotechId": 777,
"providerSearchToken": "V12",
"hotelName": "V12",
"latitude": 987.65,
"longitude": 987.65,
"image": HotelImageLink,
"rating": "V12",
"propertyType": "V12",
"providerRoomToken": "V12",
"providerPriceToken": "V12",
"providerName": "V12",
"marketPlaceProviderToken": "V12",
"rates": [Rates],
"rooms": [Rooms],
"isTestMode": true
}
}
}
Types
AccommodationFilters
Description
Filters used to create an accommodation search
Fields
| Input Field | Description |
|---|---|
location - String!
|
Location to search accommodations |
checkIn - String!
|
Date of check in |
checkOut - String!
|
Date of check out |
currency - Currency!
|
Preferred currency for pricing |
geoBoundingBox - GeoBoundingBoxInput
|
Geographic bounding box for location search |
geoDistance - GeoDistanceInput
|
Geographic distance search from a point |
guestNationality - Country!
|
Nationality of the guests |
guestResidence - Country!
|
Country of residence of the guests |
guestRooms - [GuestRoomInput]!
|
Details of guest rooms |
hotelIds - [String]
|
List of specific hotel IDs to search Limited to 500 IDs |
language - Language!
|
Preferred language for responses |
mealPlans - [MealPlans]
|
Preferred meal plans |
propertyTypes - [PropertyTypes]
|
Preferred property types |
ratings - [Int]
|
Desired ratings for accommodations |
refundable - Boolean
|
Whether you prefer to include only refundable options |
Example
{}
AccommodationSearchResult
AdditionalCharge
Example
{
"type": "V12",
"description": "V12",
"amount": 987.65,
"currency": "V12",
"unit": "V12"
}
AdditionalInformation
AllowedCreditCards
Availability
Fields
| Field Name | Description |
|---|---|
id - String
|
Unique identifier for the availability record |
vervotechId - Int
|
Mapping ID used by Vervotech for property deduplication |
providerSearchToken - String
|
Token used to identify the search session with the provider |
hotelName - String
|
Name of the hotel property |
latitude - Float
|
Latitude coordinate of the property |
longitude - Float
|
Longitude coordinate of the property |
image - HotelImageLink
|
Link and information about the hotel's main image |
rating - String
|
Star rating or category of the hotel |
propertyType - String
|
Type of the property (e.g., Hotel, Apartment, Resort) |
providerRoomToken - String
|
Token used to identify the specific room with the provider |
providerPriceToken - String
|
Token used to identify the specific price with the provider |
providerName - String
|
Name of the inventory provider |
marketPlaceProviderToken - String
|
Token used for marketplace provider identification |
rates - [Rates]
|
List of available rates for this property |
rooms - [Rooms]
|
List of available rooms for this property |
isTestMode - Boolean
|
Indicates if this is a test booking/availability |
Example
{
"id": "V12",
"vervotechId": 777,
"providerSearchToken": "V12",
"hotelName": "V12",
"latitude": 987.65,
"longitude": 987.65,
"image": HotelImageLink,
"rating": "V12",
"propertyType": "V12",
"providerRoomToken": "V12",
"providerPriceToken": "V12",
"providerName": "V12",
"marketPlaceProviderToken": "V12",
"rates": [Rates],
"rooms": [Rooms],
"isTestMode": true
}
AvailabilitySchema
Fields
| Field Name | Description |
|---|---|
hotelId - String
|
ID of the hotel for availability |
providerName - String
|
Name of the provider for the availability |
providerSearchToken - String
|
Search token provided by the provider |
providerRoomToken - String
|
Room token provided by the provider |
isTestMode - Boolean
|
Indicates if the availability is in test mode |
rates - [Rate]
|
List of rates for the availability |
intentToken - String
|
Intent token for the availability (only available AccommodationLastPrice) |
Example
{
"hotelId": "V12",
"providerName": "V12",
"providerSearchToken": "V12",
"providerRoomToken": "V12",
"isTestMode": true,
"rates": [Rate],
"intentToken": "V12"
}
Bed
Beds
Example
{
"type": "V12",
"description": "V12",
"count": 777,
"size": "V12"
}
BoardBasis
Booking
Fields
| Field Name | Description |
|---|---|
bookingStatus - BookingStatus!
|
Current status of the booking |
cancellationDate - String
|
Cancellation date of the booking |
cancellationExpireDate - String
|
Expiration date for the cancellation |
commissionAmount - Float!
|
Commission amount for the booking |
commissionCurrency - Currency!
|
Currency of the commission |
commissionCurrentExchange - Float
|
Current exchange rate for the commission |
contactId - Int
|
ID of the contact associated with the booking |
contactName - String
|
Name of the contact associated with the booking |
createdAsId - Int!
|
ID of the user the booking was created as |
createdAsName - String!
|
Name of the user who created the booking |
createdAt - String!
|
Date and time when the booking was created |
createdById - Int!
|
ID of the user who created the booking |
createdByName - String!
|
Name of the user who created the booking |
currentExchange - Float!
|
Current exchange rate for the booking |
customReference - String!
|
Custom reference for the booking |
deadline - String
|
Deadline for the booking |
deletedAt - String
|
Date and time when the booking was deleted |
dueDate - String
|
Due date for the booking payment |
finalCommissionAmount - Float
|
Final commission amount for the booking |
finalSalePriceAmount - Float
|
Final sale price amount for the booking |
finalSalePriceAmountManuallyUpdatedAt - String
|
Date and time when the final sale price amount was manually updated |
id - Int!
|
Unique identifier of the booking |
intent - Intent
|
Intent associated with the booking |
isMarketplace - Boolean!
|
Indicates if the booking is a marketplace booking |
isPaid - Boolean!
|
Indicates if the booking is paid |
isRefundable - Boolean!
|
Indicates if the booking is refundable |
isTestMode - Boolean!
|
Indicates if the booking is in test mode |
isThirdParty - Boolean!
|
Indicates if the booking is a third party booking |
legacyReference - String
|
Legacy reference for the booking |
marketPlaceSaleAmount - Float!
|
Marketplace sale amount for the booking |
markupAmount - Float!
|
Markup amount for the booking |
markupCurrency - Currency!
|
Markup currency for the booking |
organizationId - Int!
|
Organization ID associated with the booking |
organizationName - String!
|
Organization name associated with the booking |
parentOrganizationId - Int
|
Parent organization ID associated with the booking |
parentOrganizationName - String
|
Parent organization name associated with the booking |
paymentMethodFeeAmount - Float!
|
Payment method fee amount for the booking |
paymentMethodFeeCurrency - Currency!
|
Payment method fee currency for the booking |
paymentMethodName - String!
|
Payment method name for the booking |
paymentStatus - String!
|
Payment status of the booking |
penaltyAmount - Float
|
Penalty amount for the booking |
policies - [Policy]
|
Policies associated with the booking |
pricingId - Int
|
Pricing ID associated with the booking |
productId - Int!
|
Product ID associated with the booking |
reference - String!
|
Reference code for the booking |
refundTotalAmount - Float!
|
Total amount refunded for the booking |
refundTotalConvertedAmount - Float!
|
Total converted amount refunded for the booking |
roomAllocations - [RoomAllocation]
|
Detailed room allocations info for the booking |
saleCurrency - Currency!
|
Sale currency for the booking |
saleCurrentExchange - Float
|
Sale current exchange rate for the booking |
saleId - Int
|
Sale ID associated with the booking |
salePriceAmount - Float!
|
Sale price amount for the booking |
searchToken - String
|
Token used for searching the booking |
serviceConfirmationReference - String!
|
Service confirmation reference for the booking |
serviceDetails - ServiceDetails
|
Service details associated with the booking |
serviceEndDate - String!
|
Service end date for the booking |
serviceName - String!
|
Service name for the booking |
serviceCode - String!
|
Service code for the booking |
serviceStartDate - String!
|
Service start date for the booking |
specialRequests - String
|
Special requests for the booking |
supplierAmount - Float!
|
Supplier amount for the booking |
supplierAmountManuallyUpdatedAt - String
|
Date and time when the supplier amount was manually updated |
supplierCancellationReference - String
|
Supplier cancellation reference for the booking |
supplierConfirmationReference - String
|
Supplier confirmation reference for the booking |
supplierCurrency - Currency!
|
Supplier currency for the booking |
supplierName - String!
|
Supplier Name for the booking |
supplierProviderReference - String
|
Supplier provider reference for the booking |
supplierReference - String!
|
Supplier reference for the booking |
supplierToken - String!
|
Supplier token for the booking |
updatedAt - String!
|
Date and time when the booking was last updated |
voucherLinkURL - String
|
URL link to the voucher for the booking |
Example
{
"bookingStatus": "AWAITING_PROVIDER",
"cancellationDate": "V12",
"cancellationExpireDate": "V12",
"commissionAmount": 123.45,
"commissionCurrency": "AED",
"commissionCurrentExchange": 987.65,
"contactId": 777,
"contactName": "V12",
"createdAsId": 777,
"createdAsName": "V12",
"createdAt": "V12",
"createdById": 777,
"createdByName": "V12",
"currentExchange": 987.65,
"customReference": "V12",
"deadline": "V12",
"deletedAt": "V12",
"dueDate": "V12",
"finalCommissionAmount": 987.65,
"finalSalePriceAmount": 987.65,
"finalSalePriceAmountManuallyUpdatedAt": "V12",
"id": 777,
"intent": Intent,
"isMarketplace": true,
"isPaid": true,
"isRefundable": true,
"isTestMode": true,
"isThirdParty": true,
"legacyReference": "V12",
"marketPlaceSaleAmount": 987.65,
"markupAmount": 987.65,
"markupCurrency": "AED",
"organizationId": 777,
"organizationName": "V12",
"parentOrganizationId": 777,
"parentOrganizationName": "V12",
"paymentMethodFeeAmount": 123.45,
"paymentMethodFeeCurrency": "AED",
"paymentMethodName": "V12",
"paymentStatus": "V12",
"penaltyAmount": 987.65,
"policies": [Policy],
"pricingId": 777,
"productId": 777,
"reference": "V12",
"refundTotalAmount": 123.45,
"refundTotalConvertedAmount": 987.65,
"roomAllocations": [RoomAllocation],
"saleCurrency": "AED",
"saleCurrentExchange": 987.65,
"saleId": 777,
"salePriceAmount": 987.65,
"searchToken": "V12",
"serviceConfirmationReference": "V12",
"serviceDetails": ServiceDetails,
"serviceEndDate": "V12",
"serviceName": "V12",
"serviceCode": "V12",
"serviceStartDate": "V12",
"specialRequests": "V12",
"supplierAmount": 987.65,
"supplierAmountManuallyUpdatedAt": "V12",
"supplierCancellationReference": "V12",
"supplierConfirmationReference": "V12",
"supplierCurrency": "AED",
"supplierName": "V12",
"supplierProviderReference": "V12",
"supplierReference": "V12",
"supplierToken": "V12",
"updatedAt": "V12",
"voucherLinkURL": "V12"
}
BookingFilters
Fields
| Input Field | Description |
|---|---|
q - String
|
|
bookingStatus - BookingStatus
|
|
createdAsName - String
|
|
createdAtEnd - String
|
|
createdAtStart - String
|
|
createdByName - String
|
|
customReference - String
|
|
eligibleForRebooking - Boolean
|
|
guestName - String
|
|
isRefundable - Boolean
|
|
organizationName - String
|
|
paymentStatus - String
|
|
paymentMethodName - String
|
|
productId - Int
|
|
reference - String
|
|
serviceConfirmationReference - String
|
|
serviceEnd - String
|
|
serviceEndDateFrom - String
|
|
serviceEndDateTo - String
|
|
serviceName - String
|
|
serviceStart - String
|
|
serviceStartDateFrom - String
|
|
serviceStartDateTo - String
|
|
supplierConfirmationReference - String
|
|
supplierName - String
|
|
supplierReference - String
|
|
isTestMode - Boolean
|
Example
{}
BookingInput
Fields
| Input Field | Description |
|---|---|
additionalInfo - String
|
|
commissionAmount - Float!
|
|
customReference - String
|
|
salePriceAmount - Float
|
|
paymentMethodFeeAmount - Float!
|
|
paymentMethodFeeCurrency - Currency!
|
|
paymentMethodId - Int!
|
|
paymentMethodName - String!
|
|
paymentMethodConfirmationReference - String
|
|
roomAllocations - [RoomAllocationInput!]!
|
Example
{}
BookingResult
Fields
| Field Name | Description |
|---|---|
data - [Booking]!
|
|
total - Int!
|
Example
{"data": [Booking], "total": 777}
BookingSort
Fields
| Input Field | Description |
|---|---|
field - String!
|
|
direction - Direction!
|
Example
{}
BookingStatus
Description
List of possible booking statuses
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
CancellationPolicies
CancellationPolicy
CancellationPolicyInput
Fields
| Input Field | Description |
|---|---|
text - String!
|
|
rules - [CancellationPolicyRuleInput!]!
|
Example
{}
CancellationPolicyRuleInput
Charge
Fields
| Field Name | Description |
|---|---|
type - String
|
Type of charge (e.g., Service Charge, Cleaning) |
description - String
|
Description of the charge |
frequency - String
|
How often the charge is applied (e.g., Per Night, Per Stay) |
unit - String
|
Unit of the charge (e.g., Room, Person) |
amount - Float
|
Monetary value of the charge |
currency - String
|
Currency of the charge |
Example
{
"type": "V12",
"description": "V12",
"frequency": "V12",
"unit": "V12",
"amount": 987.65,
"currency": "V12"
}
Country
Description
List of supported countries for nationality and residence
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
Currency
Description
List of supported currencies
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
DailyRates
Fields
| Field Name | Description |
|---|---|
amount - Float
|
Price for a specific date |
date - String
|
The date for which this rate applies |
taxIncluded - Boolean
|
Whether taxes are included in this daily amount |
discount - Float
|
Discount applied specifically to this day |
tax - Float
|
Tax amount applied specifically to this day |
Example
{
"amount": 123.45,
"date": "V12",
"taxIncluded": true,
"discount": 987.65,
"tax": 123.45
}
Descriptions
Direction
Description
List of directions for sorting results
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
{}
ErrorMessage
Facilities
Example
{
"name": "V12",
"id": "V12",
"groupName": "V12",
"groupId": 777
}
Facility
Fees
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
{}
GeoBoundingBoxInput
Description
Geographic bounding box defined by top-left and bottom-right coordinates
Fields
| Input Field | Description |
|---|---|
topLeft - GeoPointInput!
|
Top-left corner of the bounding box (northwest) |
bottomRight - GeoPointInput!
|
Bottom-right corner of the bounding box (southeast) |
Example
{}
GeoDistanceInput
Description
Geographic distance search defined by a center point and radius
Fields
| Input Field | Description |
|---|---|
coordinates - GeoPointInput!
|
Center point of the search area |
distance - Float!
|
Radius of the search area in kilometers |
Example
{}
GeoPoint
GeoPointInput
Guest
Fields
| Field Name | Description |
|---|---|
id - Int!
|
ID of the guest |
createdAt - String!
|
Creation date of the guest record |
updatedAt - String!
|
Date when the guest record was last updated |
deletedAt - String
|
Date when the guest record was deleted |
nacionality - String
|
Nationality of the guest |
title - String
|
Title of the guest (e.g., Mr., Mrs., Dr.) |
firstName - String!
|
First name of the guest |
lastName - String!
|
Last name of the guest |
middleName - String
|
Middle name of the guest |
suffix - String
|
Suffix of the guest |
age - Int
|
Age of the guest |
isAdult - Boolean
|
Whether the guest is an adult |
passportNumber - String
|
Passport number of the guest |
passportIssueDate - String
|
Passport issue date of the guest |
passportExpDate - String
|
Passport expiration date of the guest |
Example
{
"id": 777,
"createdAt": "V12",
"updatedAt": "V12",
"deletedAt": "V12",
"nacionality": "V12",
"title": "V12",
"firstName": "V12",
"lastName": "V12",
"middleName": "V12",
"suffix": "V12",
"age": 777,
"isAdult": true,
"passportNumber": "V12",
"passportIssueDate": "V12",
"passportExpDate": "V12"
}
GuestInput
GuestRoomInput
Hotel
Fields
| Field Name | Description |
|---|---|
address - String!
|
The street address of the hotel |
cityCode - String!
|
The code of the city where the hotel is located |
cityName - String!
|
The name of the city where the hotel is located |
countryCode - String!
|
The country code in ISO 3166-1 alpha-2 format |
countryName - String!
|
The name of the country |
emails - [String]!
|
Contact emails for the hotel |
lastRefreshedOn - String!
|
Timestamp of when the hotel details were last refreshed |
latitude - Float!
|
Geographic latitude of the hotel |
longitude - Float!
|
Geographic longitude of the hotel |
postalCode - String!
|
Postal code of the hotel's location |
propertyType - String!
|
The type of the property (e.g., hotel, hostel) |
rating - String!
|
Rating of the hotel |
stateCode - String!
|
State code (if applicable) |
stateName - String!
|
State name (if applicable) |
tags - [String]!
|
Tags associated with the hotel |
id - Int!
|
Unique identifier for the hotel |
facilities - [Facility]!
|
List of facilities available at the hotel |
images - [Images]!
|
A collection of image references for the hotel |
image - Image!
|
Primary image of the hotel |
availability - [AvailabilitySchema]!
|
AvailabilitySchema details of the hotel |
brandName - String!
|
Name of the brand to which the hotel belongs |
descriptions - [Descriptions]!
|
Collection of descriptive texts about the hotel |
name - String!
|
Name of the hotel |
phones - [String]!
|
Contact phone numbers for the hotel |
Example
{
"address": "V12",
"cityCode": "V12",
"cityName": "V12",
"countryCode": "V12",
"countryName": "V12",
"emails": ["V12"],
"lastRefreshedOn": "V12",
"latitude": 987.65,
"longitude": 123.45,
"postalCode": "V12",
"propertyType": "V12",
"rating": "V12",
"stateCode": "V12",
"stateName": "V12",
"tags": ["V12"],
"id": 777,
"facilities": [Facility],
"images": [Images],
"image": Image,
"availability": [AvailabilitySchema],
"brandName": "V12",
"descriptions": [Descriptions],
"name": "V12",
"phones": ["V12"]
}
HotelDetailsInput
HotelImageLink
HotelLastPriceInput
Fields
| Input Field | Description |
|---|---|
id - String!
|
Hotel Unique ID |
searchToken - String!
|
UUID from a created search |
providerRoomToken - String!
|
Provider room token |
hotelId - String!
|
Hotel provider ID |
ratesId - [String!]!
|
Rates provider IDs |
Example
{}
Image
Images
Fields
| Field Name | Description |
|---|---|
links - [Links]
|
List of image links |
Example
{"links": [Links]}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
777
Intent
Fields
| Field Name | Description |
|---|---|
id - Int!
|
ID of the intent |
uuid - String!
|
UUID of the intent |
createdAt - String!
|
Date and time when the intent was created |
updatedAt - String!
|
Date and time when the intent was last updated |
deletedAt - String
|
Date and time when the intent was deleted |
expiresAt - String!
|
Date and time when the intent expires |
commissionAmount - Float!
|
Commission amount for the intent |
commissionCurrency - Currency!
|
Comission currency for the intent |
commissionCurrentExchange - Float
|
Commission current exchange rate for the intent |
connectionId - Int!
|
Connection ID associated with the intent |
connectionName - String
|
Name of the connection associated with the intent |
createdAsEmail - String!
|
Email of the user the intent was created as |
createdAsId - Int!
|
ID of the user the intent was created as |
createdAsName - String!
|
Name of the user the intent was created as |
createdByEmail - String
|
Email of the user who created the intent |
createdById - Int!
|
ID of the user who created the intent |
createdByName - String!
|
Name of the user who created the intent |
currentExchange - Float!
|
Current exchange rate for the intent |
isMarketplace - Boolean
|
Whether the intent is a marketplace intent |
isRefundable - Boolean!
|
Whether the intent is refundable |
isTestMode - Boolean!
|
Whether the intent is in test mode |
marketplaceCommissionAmount - Float
|
Marketplace commission amount for the intent |
marketplaceCommissionCurrency - Currency
|
Marketplace commission currency for the intent |
marketplaceMarkup - Float
|
Marketplace Markup amount for the intent |
marketplaceMarkupCurrency - Currency
|
Marketplace markup currency for the intent |
marketplaceMarkupCurrentExchange - Float
|
Marketplace markup current exchange rate for the intent |
marketplaceOrganizationId - Int
|
Marketplace organization ID for the intent |
marketplaceOrganizationName - String
|
Marketplace organization name for the intent |
marketplaceSaleAmount - Float
|
Marketplace sale amount for the intent |
marketplaceSaleCurrency - Currency
|
Marketplace sale currency for the intent |
marketplaceSupplierAmount - Float
|
Marketplace supplier amount for the intent |
marketplaceSupplierCurrency - Currency
|
Marketplace supplier currency for the intent |
marketplaceSupplierCurrentExchange - Float
|
Marketplace supplier current exchange rate for the intent |
marketplaceSupplierName - String
|
Marketplace supplier name for the intent |
markupAmount - Float!
|
Markup amount for the intent |
markupCurrency - Currency!
|
Markup Currency for the intent |
markupCurrentExchange - Float
|
Markup current exchange rate for the intent |
organizationId - Int!
|
Organization ID associated with the intent |
organizationName - String!
|
Organization name associated with the intent |
pricingId - Int
|
Pricing ID associated with the intent |
productId - Int!
|
Product ID associated with the intent |
saleCurrency - Currency!
|
Sale Currency for the intent |
saleCurrentExchange - Float
|
Sale current exchange rate for the intent |
salePriceAmount - Float!
|
Sale price amount for the intent |
searchToken - String
|
Search token for the intent |
serviceEndDate - String!
|
Service end date for the intent |
serviceName - String
|
Service name for the intent |
serviceCode - String
|
Service code for the intent |
serviceStartDate - String!
|
Service start date for the intent |
specialRequests - String
|
Special requests for the intent |
supplierAmount - Float!
|
Supplier amount for the intent |
supplierCurrency - Currency!
|
Supplier currency for the intent |
supplierCurrentExchange - Float!
|
Supplier current exchange rate for the intent |
supplierName - String!
|
Supplier name for the intent |
supplierReference - String!
|
Supplier reference for the intent |
supplierToken - String!
|
Supplier token for the intent |
Example
{
"id": 777,
"uuid": "V12",
"createdAt": "V12",
"updatedAt": "V12",
"deletedAt": "V12",
"expiresAt": "V12",
"commissionAmount": 123.45,
"commissionCurrency": "AED",
"commissionCurrentExchange": 123.45,
"connectionId": 777,
"connectionName": "V12",
"createdAsEmail": "V12",
"createdAsId": 777,
"createdAsName": "V12",
"createdByEmail": "V12",
"createdById": 777,
"createdByName": "V12",
"currentExchange": 123.45,
"isMarketplace": true,
"isRefundable": true,
"isTestMode": true,
"marketplaceCommissionAmount": 123.45,
"marketplaceCommissionCurrency": "AED",
"marketplaceMarkup": 987.65,
"marketplaceMarkupCurrency": "AED",
"marketplaceMarkupCurrentExchange": 123.45,
"marketplaceOrganizationId": 777,
"marketplaceOrganizationName": "V12",
"marketplaceSaleAmount": 987.65,
"marketplaceSaleCurrency": "AED",
"marketplaceSupplierAmount": 987.65,
"marketplaceSupplierCurrency": "AED",
"marketplaceSupplierCurrentExchange": 987.65,
"marketplaceSupplierName": "V12",
"markupAmount": 987.65,
"markupCurrency": "AED",
"markupCurrentExchange": 123.45,
"organizationId": 777,
"organizationName": "V12",
"pricingId": 777,
"productId": 777,
"saleCurrency": "AED",
"saleCurrentExchange": 123.45,
"salePriceAmount": 987.65,
"searchToken": "V12",
"serviceEndDate": "V12",
"serviceName": "V12",
"serviceCode": "V12",
"serviceStartDate": "V12",
"specialRequests": "V12",
"supplierAmount": 123.45,
"supplierCurrency": "AED",
"supplierCurrentExchange": 987.65,
"supplierName": "V12",
"supplierReference": "V12",
"supplierToken": "V12"
}
Language
Description
List of supported languages for the API responses
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
{}
Links
MealPlan
MealPlanBasis
MealPlans
Description
List of supported meal plan options for accommodations
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
MealPlansResponse
Fields
| Field Name | Description |
|---|---|
total - Int!
|
Total number of meal plans |
data - [MealPlan]
|
List of meal plans |
Example
{
"total": 5,
"data": [
{"key": "breakfast_included", "name": "Breakfast Included"},
{"key": "all_inclusive", "name": "All Inclusive"}
]
}
Occupancies
Example
{
"roomId": "V12",
"numOfAdults": 777,
"numOfChildren": 777,
"childAges": [777]
}
Occupancy
Offers
Fields
| Field Name | Description |
|---|---|
title - String
|
Title of the special offer |
description - String
|
Description of the offer terms |
type - String
|
Category of the offer |
discountOffer - Float
|
Flat discount amount offered |
percentageDiscountOffer - Int
|
Percentage discount offered |
stayOffer - StayOffer
|
Specific stay-based requirements for the offer |
Example
{
"title": "V12",
"description": "V12",
"type": "V12",
"discountOffer": 987.65,
"percentageDiscountOffer": 777,
"stayOffer": StayOffer
}
Policies
Policy
Promotion
PropertyType
PropertyTypeResponse
Fields
| Field Name | Description |
|---|---|
total - Int!
|
Total number of property types |
data - [PropertyType]
|
List of property types |
Example
{
"total": 18,
"data": [
{"key": "hotel", "name": "Hotel"},
{"key": "hostel", "name": "Hostel"}
]
}
PropertyTypes
Description
Types of properties available in accommodation search
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
{}
Rate
Fields
| Field Name | Description |
|---|---|
intentToken - String
|
|
ratesId - [String]
|
List of rate IDs |
description - String
|
Description of the rate |
supplierAmount - Float
|
Supplier amount (if has permission) |
supplierCurrency - String
|
Supplier currency (if has permission) |
totalRate - Float
|
Total rate amount |
currency - String
|
Currency of the rate |
refundability - String
|
Refundability status of the rate |
occupancies - [Occupancy]
|
List of occupancies for the rate |
mealPlan - MealPlanBasis
|
Board basis details for the rate |
cancellationPolicies - [CancellationPolicy]
|
List of cancellation policies for the rate |
additionalCharges - [AdditionalCharge]
|
Additional charges applicable to the rate |
Example
{
"intentToken": "V12",
"ratesId": ["V12"],
"description": "V12",
"supplierAmount": 987.65,
"supplierCurrency": "V12",
"totalRate": 123.45,
"currency": "V12",
"refundability": "V12",
"occupancies": [Occupancy],
"mealPlan": MealPlanBasis,
"cancellationPolicies": [CancellationPolicy],
"additionalCharges": [AdditionalCharge]
}
RateInfo
Example
{
"description": "V12",
"amount": 123.45,
"isIncludedInBaseRate": true
}
Rates
Fields
| Field Name | Description |
|---|---|
id - String
|
Unique identifier for the rate |
rateCombinabilityId - String
|
Identifier used to determine if rates can be combined |
rateCombinabilityType - String
|
Type of rate combinability logic applied |
availability - Int
|
Number of units available at this rate |
description - String
|
Text description of the rate |
needsPriceCheck - Boolean
|
Whether a final price check is required before booking |
isPackageRate - Boolean
|
Whether this rate is part of a package deal |
isContractedRate - Boolean
|
Whether this is a specially negotiated/contracted rate |
type - String
|
Category or type of the rate |
baseRate - Float
|
The base price before taxes and fees |
totalRate - Float
|
The final price including all mandatory costs |
minSellingRate - Float
|
Minimum price at which this rate can be sold |
publishedRate - Float
|
The public price listed by the provider |
currency - String
|
Currency code (e.g., USD, BRL) |
discounts - [RateInfo]
|
List of applied discounts |
markups - [RateInfo]
|
List of applied price markups |
refundability - String
|
Cancellation refundability status (e.g., Refundable, Non-Refundable) |
allGuestsInfoRequired - Boolean
|
Whether details for all guests are mandatory for booking |
onlineCancellable - Boolean
|
Whether the booking can be cancelled online |
specialRequestSupported - Boolean
|
Whether special requests are supported for this rate |
payAtHotel - Boolean
|
Whether payment is made directly at the hotel |
cardRequired - Boolean
|
Whether a credit card is required to guarantee the booking |
additionalCharges - [Charge]
|
List of additional charges not included in the total |
depositRequired - Boolean
|
Whether a deposit is required at the time of booking |
depositAmount - Float
|
The amount required for the deposit |
guaranteeRequired - Boolean
|
Whether a payment guarantee is required |
otherRateComponents - [RateInfo]
|
Other miscellaneous rate components |
distributionType - String
|
The type of distribution used for this rate |
distributionChannel - String
|
The channel through which the rate is distributed |
publishedBaseRate - Float
|
The base rate as published by the hotel |
isPassportMandatory - Boolean
|
Whether a passport is mandatory for all guests |
isPANMandatory - Boolean
|
Whether a PAN (tax ID) is mandatory for this rate |
rateIdentifier - String
|
Unique identifier string for the rate |
additionalInformation - [AdditionalInformation]
|
Additional textual information about the rate |
isChildConvertedToAdult - Boolean
|
Whether children are priced as adults for this rate |
inclusions - [String]
|
List of items or services included in the rate |
promotions - [Promotion]
|
List of active promotions applied to the rate |
commission - RateInfo
|
Commission details for the agency |
allowedCreditCards - [AllowedCreditCards]
|
List of credit card brands accepted for this rate |
cancellationPolicies - [CancellationPolicies]
|
List of cancellation policies and deadlines |
offers - [Offers]
|
List of special offers associated with the rate |
boardBasis - BoardBasis
|
Meal plan information (e.g., Breakfast Included) |
policies - [Policies]
|
General hotel or rate policies |
documentOptions - [String]
|
Available document options for the guest |
dailyRates - [DailyRates]
|
Breakdown of the rate per night |
fees - [Fees]
|
Extra fees applied to the booking |
taxes - [Tax]
|
Tax breakdown for the rate |
occupancies - [Occupancies]
|
Guest occupancy configuration for this rate |
Example
{
"id": "V12",
"rateCombinabilityId": "V12",
"rateCombinabilityType": "V12",
"availability": 777,
"description": "V12",
"needsPriceCheck": true,
"isPackageRate": true,
"isContractedRate": true,
"type": "V12",
"baseRate": 123.45,
"totalRate": 987.65,
"minSellingRate": 987.65,
"publishedRate": 123.45,
"currency": "V12",
"discounts": [RateInfo],
"markups": [RateInfo],
"refundability": "V12",
"allGuestsInfoRequired": true,
"onlineCancellable": true,
"specialRequestSupported": true,
"payAtHotel": true,
"cardRequired": true,
"additionalCharges": [Charge],
"depositRequired": true,
"depositAmount": 987.65,
"guaranteeRequired": true,
"otherRateComponents": [RateInfo],
"distributionType": "V12",
"distributionChannel": "V12",
"publishedBaseRate": 123.45,
"isPassportMandatory": true,
"isPANMandatory": true,
"rateIdentifier": "V12",
"additionalInformation": [AdditionalInformation],
"isChildConvertedToAdult": true,
"inclusions": ["V12"],
"promotions": [Promotion],
"commission": RateInfo,
"allowedCreditCards": [AllowedCreditCards],
"cancellationPolicies": [CancellationPolicies],
"offers": [Offers],
"boardBasis": BoardBasis,
"policies": [Policies],
"documentOptions": ["V12"],
"dailyRates": [DailyRates],
"fees": [Fees],
"taxes": [Tax],
"occupancies": [Occupancies]
}
Refund
Room
Example
{
"id": "V12",
"name": "V12",
"description": "V12",
"views": ["V12"],
"beds": [Bed]
}
RoomAllocation
Fields
| Field Name | Description |
|---|---|
guests - [Guest]
|
Guests assigned to the room allocation |
name - String!
|
Name of the room allocation |
description - String!
|
Description of the room allocation |
roomId - String!
|
ID of the room |
rateId - String!
|
ID of the rate |
refunds - [Refund]!
|
Refunds applicable to the room allocation |
additionalServices - String!
|
Additional services for the room allocation |
additionalCharges - [AdditionalCharge]!
|
Additional charges for the room allocation |
cancellationPolicies - [CancellationPolicy]!
|
Cancellation policies for the room allocation |
Example
{
"guests": [Guest],
"name": "V12",
"description": "V12",
"roomId": "V12",
"rateId": "V12",
"refunds": [Refund],
"additionalServices": "V12",
"additionalCharges": [AdditionalCharge],
"cancellationPolicies": [CancellationPolicy]
}
RoomAllocationInput
Fields
| Input Field | Description |
|---|---|
guests - [GuestInput]
|
|
roomId - String
|
|
rateId - String
|
|
name - String
|
|
cancellationPolicies - [CancellationPolicyInput]
|
|
description - String
|
|
additionalServices - String
|
Example
{}
Rooms
Fields
| Field Name | Description |
|---|---|
id - String
|
Unique identifier for the room type |
name - String
|
Name of the room (e.g., Deluxe Suite) |
code - String
|
Internal room code |
description - String
|
Detailed description of the room |
isSmokingAllowed - Boolean
|
Whether smoking is permitted in the room |
maxGuestsAllowed - Int
|
Maximum number of total guests allowed |
maxAdultsAllowed - Int
|
Maximum number of adults allowed |
maxChildrenAllowed - Int
|
Maximum number of children allowed |
type - String
|
Category or type of the room |
isMappedRoom - Boolean
|
Whether the room has been mapped to a standard type |
views - [String]
|
List of views from the room (e.g., Ocean View) |
images - [Images]
|
List of images showing the room |
facilities - [Facilities]
|
List of amenities and facilities in the room |
beds - [Beds]
|
Details about the bed configurations in the room |
Example
{
"id": "V12",
"name": "V12",
"code": "V12",
"description": "V12",
"isSmokingAllowed": true,
"maxGuestsAllowed": 777,
"maxAdultsAllowed": 777,
"maxChildrenAllowed": 777,
"type": "V12",
"isMappedRoom": true,
"views": ["V12"],
"images": [Images],
"facilities": [Facilities],
"beds": [Beds]
}
Rule
Fields
| Field Name | Description |
|---|---|
value - Float
|
Penalty value (could be a fixed amount or percentage) |
valueType - String
|
Type of the value (e.g., Percentage, Fixed) |
estimatedValue - Float
|
Calculated estimated value of the penalty |
start - String
|
Start date/time for when this penalty applies |
end - String
|
End date/time for when this penalty applies |
Example
{
"value": 123.45,
"valueType": "V12",
"estimatedValue": 123.45,
"start": "V12",
"end": "V12"
}
ServiceDetails
Fields
| Field Name | Description |
|---|---|
address - String
|
Address of the service |
city - String
|
City of the service |
country - String
|
Country of the service |
description - String
|
Description of the service |
geoCode - GeoPoint
|
Geographical coordinates of the service |
image - String
|
Image URL of the service |
name - String
|
Name of the service |
state - String
|
State of the service |
Example
{
"address": "V12",
"city": "V12",
"country": "V12",
"description": "V12",
"geoCode": GeoPoint,
"image": "V12",
"name": "V12",
"state": "V12"
}
StayOffer
String
Description
The Stringscalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"V12"
Tax
UpdateBookingInput
Fields
| Input Field | Description |
|---|---|
commissionAmount - Float
|
|
commissionCurrency - Currency
|
|
customReference - String
|
|
finalCommissionAmount - Float
|
|
finalSalePriceAmount - Float
|
|
paymentMethodFeeAmount - Float
|
|
paymentMethodFeeCurrency - Currency
|
|
paymentMethodId - Int
|
|
paymentMethodName - String
|
|
paymentMethodConfirmationReference - String
|
|
roomAllocations - [RoomAllocationInput]
|
|
salePriceAmount - Float
|
|
serviceConfirmationReference - String
|
|
supplierConfirmationReference - String
|
|
serviceEndDate - String
|
|
serviceStartDate - String
|
|
supplierAmount - Float
|
Example
{}