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:

  1. Create a search (Mutation: accommodationCreateSearch)
  2. View hotel and availability (Query: accommodationHotelDetails)
  3. Get updated availability pricing and create an intent (Query: accommodationLastPrice)
  4. 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

Response

Returns a Booking!

Arguments
Name Description
ID - Int
reference - String

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

Response

Returns a Boolean!

Arguments
Name Description
id - Int!

Example

Query
query cancelBooking($id: Int!) {
  cancelBooking(id: $id)
}
Variables
{"id": 777}
Response
{"data": {"cancelBooking": {}}}

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

Arguments
Name Description
token - String! The token for the accommodation search
currency - Currency! The currency for the search

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

Fields
Field Name Description
searchToken - String! Token to retrieve search results
expiresAt - String! Expiration date and time of the search token
Example
{
  "searchToken": "V12",
  "expiresAt": "V12"
}

AdditionalCharge

Fields
Field Name Description
type - String Type of the additional charge
description - String Description of the additional charge
amount - Float Amount of the additional charge
currency - String Currency of the additional charge
unit - String Unit for the additional charge
Example
{
  "type": "V12",
  "description": "V12",
  "amount": 987.65,
  "currency": "V12",
  "unit": "V12"
}

AdditionalInformation

Fields
Field Name Description
type - String Category of the information
text - String Content of the information
Example
{
  "type": "V12",
  "text": "V12"
}

AllowedCreditCards

Fields
Field Name Description
type - String Type or network of the credit card (e.g., VISA)
code - String Code representing the credit card network
processingCountry - String Country where the card is processed
Example
{
  "type": "V12",
  "code": "V12",
  "processingCountry": "V12"
}

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

Fields
Field Name Description
type - String Type of the bed
description - String Description of the bed
count - Int Number of beds
size - String Size of the bed
Example
{
  "type": "V12",
  "description": "V12",
  "count": 777,
  "size": "V12"
}

Beds

Fields
Field Name Description
type - String Type of bed (e.g., King, Twin)
description - String Description of the bedding arrangement
count - Int Number of beds of this type available in the room
size - String Physical size or dimensions of the bed
Example
{
  "type": "V12",
  "description": "V12",
  "count": 777,
  "size": "V12"
}

BoardBasis

Fields
Field Name Description
description - String Description of the meal plan (e.g., All Inclusive)
type - String Type code of the meal plan
code - String Short code identifier for the board basis
Example
{
  "description": "V12",
  "type": "V12",
  "code": "V12"
}

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

AWAITING_PROVIDER

PENDING

NOT_CONFIRMED

CONFIRMED

CANCELLED

Example
{}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

CancellationPolicies

Fields
Field Name Description
text - String Full text description of the cancellation policy
rules - [Rule] List of specific penalty rules and deadlines
Example
{
  "text": "V12",
  "rules": [Rule]
}

CancellationPolicy

Fields
Field Name Description
start - String Start time of the cancellation policy
end - String End time of the cancellation policy
estimatedValue - Float Estimated value for cancellation
Example
{
  "start": "V12",
  "end": "V12",
  "estimatedValue": 987.65
}

CancellationPolicyInput

Fields
Input Field Description
text - String!
rules - [CancellationPolicyRuleInput!]!
Example
{}

CancellationPolicyRuleInput

Fields
Input Field Description
value - Float
valueType - String
estimatedValue - Float
convertedEstimatedValue - Float
startDate - String
endDate - String
Example
{}

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

BR

US

ES

CN

AE

AF

AL

AM

AN

AO

AR

AU

AW

AZ

BA

BB

BD

BG

BH

BI

BM

BN

BO

BS

BT

BW

BZ

CA

CD

CH

CL

CO

CU

CV

CZ

DJ

DK

DO

DZ

EG

ER

ET

EU

FJ

FK

GB

GE

GH

GI

GM

GN

GT

GY

HK

HN

HR

HT

HU

ID

IL

IN

IQ

IR

IS

JM

JO

JP

KE

KG

KH

KM

KP

KR

KW

KY

KZ

LA

LB

LK

LR

LS

LY

MA

MD

MG

MK

MM

MN

MO

MR

MU

MV

MW

MX

MY

MZ

NA

NG

NO

NP

NZ

OM

PA

PE

PG

PH

PK

PL

PY

QA

RO

RS

RU

RW

SA

SC

SD

SE

SG

SH

SL

SO

SR

SY

SZ

TH

TJ

TM

TN

TO

TR

TT

TW

TZ

UA

UG

UY

UZ

VN

VU

WS

XA

XC

XD

XO

XP

YE

ZA

ZM

Example
{}

Currency

Description

List of supported currencies

Values
Enum Value Description

AED

AFN

ALL

AMD

ANG

AOA

ARS

AUD

AWG

AZN

BAM

BBD

BDT

BGN

BHD

BIF

BMD

BND

BOB

BRL

BSD

BTN

BWP

BZD

CAD

CDF

CHF

CLF

CLP

CNH

CNY

COP

CUP

CVE

CZK

DJF

DKK

DOP

DZD

EGP

ERN

ETB

EUR

FJD

FKP

GBP

GEL

GHS

GIP

GMD

GNF

GTQ

GYD

HKD

HNL

HRK

HTG

HUF

IDR

ILS

INR

IQD

IRR

ISK

JMD

JOD

JPY

KES

KGS

KHR

KMF

KPW

KRW

KWD

KYD

KZT

LAK

LBP

LKR

LRD

LSL

LYD

MAD

MDL

MGA

MKD

MMK

MNT

MOP

MRU

MUR

MVR

MWK

MXN

MYR

MZN

NAD

NGN

NOK

NPR

NZD

OMR

PAB

PEN

PGK

PHP

PKR

PLN

PYG

QAR

RON

RSD

RUB

RWF

SAR

SCR

SDG

SEK

SGD

SHP

SLL

SOS

SRD

SYP

SZL

THB

TJS

TMT

TND

TOP

TRY

TTD

TWD

TZS

UAH

UGX

USD

UYU

UZS

VND

VUV

WST

XAF

XCD

XDR

XOF

XPF

YER

ZAR

ZMW

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

Fields
Field Name Description
text - String Text of the description
type - String Type of the description
Example
{
  "text": "V12",
  "type": "V12"
}

Direction

Description

List of directions for sorting results

Values
Enum Value Description

ASC

DESC

Example
{}

ErrorMessage

Fields
Field Name Description
code - String! Error code
message - String! Error message
Example
{
  "code": "V12",
  "message": "V12"
}

Facilities

Fields
Field Name Description
name - String Name of the facility or amenity
id - String Unique identifier for the facility
groupName - String Name of the group the facility belongs to (e.g., Bathroom, Media)
groupId - Int Identifier for the facility group
Example
{
  "name": "V12",
  "id": "V12",
  "groupName": "V12",
  "groupId": 777
}

Facility

Fields
Field Name Description
name - String Name of the facility
groupId - Int Group ID of the facility
Example
{"name": "V12", "groupId": 777}

Fees

Fields
Field Name Description
amount - Float Amount of the fee
description - String Description of what the fee is for
isIncludedInBaseRate - Boolean Whether the fee is already included in the base rate
Example
{
  "amount": 123.45,
  "description": "V12",
  "isIncludedInBaseRate": true
}

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

Fields
Field Name Description
lat - Float Latitude of the geographical point
lon - Float Longitude of the geographical point
Example
{"lat": 123.45, "lon": 123.45}

GeoPointInput

Description

A geographic point with latitude and longitude

Fields
Input Field Description
lat - Float Latitude in decimal degrees
lon - Float Longitude in decimal degrees
Example
{}

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

Fields
Input Field Description
nacionality - String
isLeader - Boolean!
title - String
firstName - String!
lastName - String!
middleName - String
suffix - String
age - Int
isAdult - Boolean
passportNumber - String
passportIssueDate - String
passportExpDate - String
Example
{}

GuestRoomInput

Description

Details of a guest room including number of adults and child ages

Fields
Input Field Description
adults - Int! Number of adult guests in the room
childAges - [Int] Ages of children in the room, if any
Example
{}

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

Description

Hotel details input

Fields
Input Field Description
id - String! Hotel Unique ID
searchToken - String! UUID from a created search
Example
{}

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

Fields
Field Name Description
size - String Size of the image
providerHref - String Link to the provider's image resource
Example
{
  "size": "V12",
  "providerHref": "V12"
}

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

en_US

es_ES

pt_BR

Example
{}

MealPlan

Fields
Field Name Description
key - String! Key used on accommodation search
name - String! Readable name of the meal plan strategy
Example
{"key": "breakfast_included", "name": "Breakfast Included"}

MealPlanBasis

Fields
Field Name Description
description - String Description of the board basis
type - String Type of the board basis
code - String Code representing the board basis
Example
{
  "description": "V12",
  "type": "V12",
  "code": "V12"
}

MealPlans

Description

List of supported meal plan options for accommodations

Values
Enum Value Description

AllInclusive

BedAndBreakfast

FullBoard

HalfBoard

RoomOnly

SelfCatering

Other

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

Fields
Field Name Description
roomId - String ID of the room associated with this occupancy
numOfAdults - Int Number of adults in the occupancy
numOfChildren - Int Number of children in the occupancy
childAges - [Int] List of ages for each child in the occupancy
Example
{
  "roomId": "V12",
  "numOfAdults": 777,
  "numOfChildren": 777,
  "childAges": [777]
}

Occupancy

Fields
Field Name Description
rateID - String ID of the rate for the occupancy
room - Room Room details for the occupancy
policies - Policy Policies applicable to the occupancy
Example
{
  "rateID": "V12",
  "room": Room,
  "policies": Policy
}

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

Fields
Field Name Description
type - String Category of the policy (e.g., Check-in, Pet Policy)
text - String Full text of the policy
Example
{
  "type": "V12",
  "text": "V12"
}

Policy

Fields
Field Name Description
type - String Type of the policy
text - String Text description of the policy
Example
{
  "type": "V12",
  "text": "V12"
}

Promotion

Fields
Field Name Description
code - String Internal code for the promotion
name - String Public name of the promotion
remark - String Additional remarks about the promotion
Example
{
  "code": "V12",
  "name": "V12",
  "remark": "V12"
}

PropertyType

Fields
Field Name Description
key - String! Key used on accommodation search
name - String! Readable name of the Property Type
Example
{"key": "hotel", "name": "Hotel"}

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

Hotel

Apartment

Private

Vacation

Home

GuestHouse

Villa

Bed

And

Breakfast

Cottage

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

Fields
Field Name Description
description - String Description of the adjustment (discount, markup, or commission)
amount - Float Monetary value of the adjustment
isIncludedInBaseRate - Boolean Whether this amount is already part of the base rate
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

Fields
Field Name Description
amount - Float Amount of the refund
convertedAmount - Float Converted amount of the refund
currency - String Currency of the refund
Example
{
  "amount": 987.65,
  "convertedAmount": 987.65,
  "currency": "V12"
}

Room

Fields
Field Name Description
id - String Unique identifier of the room
name - String Name of the room
description - String Description of the room
views - [String] Views available from the room
beds - [Bed] List of beds in the 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

Fields
Field Name Description
minNights - Int Minimum nights required to qualify for the offer
discountPercentage - Int Discount percentage applied to the stay
freeNights - Int Number of free nights included in the offer
Example
{"minNights": 777, "discountPercentage": 777, "freeNights": 777}

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

Fields
Field Name Description
amount - Float Amount of the tax
description - String Description of the tax (e.g., VAT, City Tax)
isIncludedInBaseRate - Boolean Whether the tax is already included in the base rate
Example
{
  "amount": 987.65,
  "description": "V12",
  "isIncludedInBaseRate": true
}

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
{}