Book
Overview
The Book
operation is the final step in the booking workflow, used to confirm a reservation for a selected option. It involves providing detailed guest information, a client locator, the payment type, and credit card information when required. Once completed, the supplier processes the reservation and returns its status.
The Book
operation ensures:
- Guest Information Submission: Transfers passenger details, including names, surnames, and any additional guest-specific data, to the supplier.
- Payment Validation: Confirms and processes payment if the supplier requires it at the booking stage.
- Reservation Confirmation: Secures the selected option and generates a unique supplier locator for future management (e.g., cancellation or check bookings).
When to Use:
- Finalizing Reservations: After
Quote
, when the selected option has been validated and confirmed. - Session-Based Suppliers: For suppliers requiring additional validation or token updates during the booking process.
- Immediate Confirmation: For suppliers offering instant booking confirmation.
Note: If the booking status is returned as
Unknown
, the Buyer is responsible for verifying with the Seller that the booking has been confirmed.
Common Scenarios:
- Payment-Required Suppliers: Includes credit card information as part of the
Book
request. - Error Handling: Common errors include:
SupplierBookingNotConfirmed
: Indicates that the booking could not be processed by the supplier.ItemNotAvailable
: Returned if the selected option is no longer valid at the time of booking.
Request
The request object contains all necessary details to process the booking.
Overview
The request object includes passenger details, payment information, client locator, and the selected option.
Sample
- C#
- FormTest Sample JSON
var bookRq = new BookRq
{
BookCriteria = new BookCriteria
{
Accommodation = new Accommodation
{
Type = "Hotel",
Code = "12345"
},
BoardCode = "RO",
Occupancies = new List<Occupancy>
{
new Occupancy
{
OccupancyId = 1,
Paxes = new List<Pax>
{
new Pax { Age = 30 },
new Pax { Age = 30 }
}
}
},
Market = "ES",
Rooms = new List<Room>
{
new Room
{
OccupancyRefId = 1,
Code = "DBL",
Description = "Double standard"
}
},
PaymentType = "MerchantPay",
Remarks = new List<Remark>
{
new Remark
{
RemarkType = "General",
Text = "I want twin beds"
}
},
ClientReference = "ClientReference12345",
BookPrice = new BookPrice
{
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 100,
Gross = 100,
NetSpecified = true,
MinimumSellingPrice = 100
},
DeltaPrice = new DeltaPrice
{
Amount = 5,
Percentage = 1
}
},
Holder = new Holder
{
Name = "John",
SurName = "Smith",
PersonalTitleType = "MR",
ContactInfo = new ContactInfo
{
Email = "someemail@travelgate.com",
Phone = "66666666"
}
},
PaymentCardInput = new PaymentCardInput
{
Type = "VI",
Number = "4444444444444",
Cvc = "123",
Expiration = new CardExpiration
{
Month = 10,
Year = 5,
YearFull = 2005
},
IsVcc = false,
Holder = new Holder
{
Name = "John",
SurName = "Smith",
PersonalTitleType = "MR",
ContactInfo = new ContactInfo
{
Email = "someemail@travelgate.com",
Phone = "66666666"
}
}
},
Parameters = new List<Parameter>
{
new Parameter
{
Key = 4,
Value = "Value5a3c4d96-8e0e-43e1-9524-81b0ffb9995d",
ParameterType = "Supplier",
Immutable = false,
RoomId = 105
}
},
CheckIn = "2024-05-12",
CheckOut = "2024-05-14",
TotalNights = 2,
Language = "ES",
Currency = "EUR",
Nationality = "ES"
},
Settings = new Settings
{
Supplier = "HOTELTEST",
Platform = "HOTELTEST",
Client = "TravelAgency123",
Access = new Access
{
Code = 1001,
User = "agency_user",
Password = "secure_password",
ApiKey = "API_KEY_123456789",
Urls = new Urls
{
Book = "https://api.hotelsupplier.com/book",
Search = "https://api.hotelsupplier.com/search",
Quote = "https://api.hotelsupplier.com/quote",
Generic = "https://api.hotelsupplier.com/generic"
},
Parameters = new Dictionary<string, string>
{
{ "someParameter1", "50" },
{ "someParameter2", "true" },
{ "someParameter3", "5000" },
{ "someParameter4", "SupplierX" }
}
},
BusinessRules = new BusinessRules
{
OptionsQuota = 170,
BusinessRuleType = "CheaperAmount"
},
Timeout = "00:00:10",
TimeoutAsTimeSpan = TimeSpan.Parse("00:00:10"),
IncludeProviderTransactions = true
}
};
"bookRq":
{
"bookCriteria":
{
"accommodation":
{
"type": "Hotel",
"code": "12345"
},
"boardCode": "RO",
"occupancies":
[
{
"occupancyId": 1,
"paxes":
[
{
"age": 30
},
{
"age": 30
}
]
}
],
"market": "ES",
"rooms":
[
{
"occupancyRefId": 1,
"code": "DBL",
"description": "Double standard"
}
],
"paymentType": "MerchantPay",
"remarks":
[
{
"remarkType": "General",
"text": "I want twin beds"
}
],
"clientReference": "ClientReference12345",
"bookPrice":
{
"price":
{
"currency": "EUR",
"binding": true,
"net": 100,
"gross": 100,
"netSpecified": true,
"minimumSellingPrice": 100
},
"deltaPrice":
{
"amount": 5,
"percentage": 1
}
},
"holder":
{
"name": "John",
"surName": "Smith",
"personalTitleType": "MR",
"contactInfo":
{
"email": "someemail@travelgate.com",
"phone": "66666666"
}
},
"paymentCardInput":
{
"type": "VI",
"number": "4444444444444",
"cvc": "123",
"expiration":
{
"month": 10,
"year": 5,
"yearFull": 2005
},
"isVcc": false,
"holder":
{
"name": "John",
"surName": "Smith",
"personalTitleType": "MR",
"contactInfo":
{
"email": "someemail@travelgate.com",
"phone": "66666666"
}
}
},
"parameters":
[
{
"key": 4,
"value": "Value5a3c4d96-8e0e-43e1-9524-81b0ffb9995d",
"parameterType": "Supplier",
"immutable": false,
"roomId": 105
}
],
"checkIn": "2024-05-12",
"checkOut": "2024-05-14",
"totalNights": 2,
"language": "ES",
"currency": "EUR",
"nationality": "ES"
},
"settings":
{
"supplier": "HOTELTEST",
"platform": "HOTELTEST",
"client": "TravelAgency123",
"access":
{
"code": 1001,
"user": "agency_user",
"password": "secure_password",
"apiKey": "API_KEY_123456789",
"urls":
{
"book": "https://api.hotelsupplier.com/book",
"search": "https://api.hotelsupplier.com/search",
"quote": "https://api.hotelsupplier.com/quote",
"generic": "https://api.hotelsupplier.com/generic"
},
"parameters":
{
"someParameter1": "50",
"someParameter2": "true",
"someParameter3": "5000",
"someParameter4": "SupplierX"
}
},
"businessRules":
{
"optionsQuota": 170,
"businessRuleType": "CheaperAmount"
},
"timeout": "00:00:10",
"timeoutAsTimeSpan": "00:00:10",
"includeProviderTransactions": true
}
}
Details
Name | Relation | Type | Description |
---|---|---|---|
BookCriteria | 1 | BookCriteria | The booking criteria for the hotel reservation. |
BookCriteria/CheckIn | 1 | String | The check-in date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD). |
BookCriteria/CheckOut | 1 | String | The check-out date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD). |
BookCriteria/CheckInAsDateTime | 0 . . 1 | String | The check-in date parsed as a DateTime object, expressed in UTC 0 |
BookCriteria/ CheckOutAsDateTime | 0 . . 1 | String | The check-out date parsed as a DateTime object, expressed in UTC 0 |
BookCriteria/TotalNights | 0 . . 1 | Integer | The total number of nights for the stay, calculated as the difference between check-in and check-out dates. |
BookCriteria/Language | 1 | String | The language code for the operation, represented as a 2-character ISO 639-1 code (e.g., "en", "es"). |
BookCriteria/Currency | 0 . . 1 | Currency | The preferred currency for the operation, defined as an optional Currency value. |
BookCriteria/Nationality | 0 . . 1 | String | The nationality code of the client, represented as a 2-character ISO 3166-1 alpha-2 country code (e.g., "US", "FR"). |
BookCriteria/Accommodation | 1 | AccommodationRQ | Accommodation details for the Quote request, such as the hotel or rental being evaluated. |
BookCriteria/Accommodation/ Type | 1 | AccommodationType | Specifies the type of accommodation being requested, such as Hotel or Rental. |
BookCriteria/Accommodation/ Code | 1 | String | Represents a unique code identifying the accommodation in the request. |
BookCriteria/BoardCode | 1 | String | Gets the board code for the booking. |
BookCriteria/Occupancies | 1 . . N | Array<BookOccupancy> | Gets the occupancies for the booking. |
BookCriteria/Occupancies/ OccupancyId | 1 | Integer | The unique identifier for the occupancy. |
BookCriteria/Occupancies/Paxes | 1 . . N | Array<BookPaxInput> | The collection of passenger inputs (paxes) for the occupancy. |
BookCriteria/Occupancies/Paxes/ Age | 1 | Integer | The age of the passenger. |
BookCriteria/Occupancies/Paxes/ Name | 1 | String | The first name of the passenger. |
BookCriteria/Occupancies/Paxes/ SurName | 1 | String | The surname (last name) of the passenger. |
BookCriteria/Occupancies/Paxes/ PersonalTitleType | 1 | PersonalTitleType | The personal title type of the passenger. |
BookCriteria/Market | 0 . . 1 | String | Gets or sets the market for the booking. |
BookCriteria/Rooms | 1 . . N | Array<Room> | Gets the rooms for the booking. |
BookCriteria/Rooms/ OccupancyRefId | 1 | Integer | Numeric ID linking this room to its occupancy data in the Occupancy. |
BookCriteria/Rooms/Code | 1 | String | Unique code assigned to this room. |
BookCriteria/Rooms/Description | 0 . . 1 | String | Description of the room's features or characteristics. |
BookCriteria/Rooms/RoomPrice | 1 | RoomPrice | Pricing information for the room, including total price and currency details. |
BookCriteria/Rooms/RoomPrice/ Price | 1 | Price | The total price of the room. |
BookCriteria/Rooms/RoomPrice/ Price/Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookCriteria/Rooms/RoomPrice/ Price/Binding | 1 | Boolean | Indicates whether the price is binding. |
BookCriteria/Rooms/RoomPrice/ Price/Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookCriteria/Rooms/RoomPrice/ Price/Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookCriteria/Rooms/RoomPrice/ Price/NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookCriteria/Rooms/RoomPrice/ Price/MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown | 0 . . N | Array<PriceBreakdown> | Breakdown of the room price over specific periods, such as daily rates. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price | 1 | Price | The price for each day of the room during the specified period. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price/Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price/Binding | 1 | Boolean | Indicates whether the price is binding. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price/Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price/Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price/ NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Price/ MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/Start | 1 | Integer | The starting day of the pricing period (inclusive). |
BookCriteria/Rooms/RoomPrice/ PriceBreakdown/End | 1 | Integer | The ending day of the pricing period (inclusive). |
BookCriteria/Rooms/Refundable | 1 | Boolean | Indicates if the room is refundable based on the cancellation policy. |
BookCriteria/Rooms/ RefundableSpecified | 1 | Boolean | Indicates whether the refundable status has been explicitly specified. |
BookCriteria/Rooms/ LegacyRoomId | 1 | String | Legacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code. |
BookCriteria/Rooms/Units | 0 . . 1 | Integer | Number of units available for this room type. |
BookCriteria/Rooms/RatePlan | 0 . . 1 | RatePlan | Rate plan associated with this room. |
BookCriteria/Rooms/RatePlan/ Code | 1 | String | The unique code for the rate plan. |
BookCriteria/Rooms/RatePlan/ Name | 0 . . 1 | String | The name of the rate plan. |
BookCriteria/Rooms/Promotions | 0 . . N | Array<Promotion> | Promotions or discounts applicable to this room. |
BookCriteria/Rooms/Promotions/ Code | 1 | String | The unique code identifying the promotion. |
BookCriteria/Rooms/Promotions/ Name | 0 . . 1 | String | The name of the promotion. |
BookCriteria/Rooms/Remarks | 0 . . N | Array<Remark> | Additional remarks or notes about this room. |
BookCriteria/Rooms/Remarks/ RemarkType | 1 | RemarkType | The type of the remark, categorized by RemarkType, specifies its nature or purpose. It may refer to the hotel as a whole, a specific room being booked, services provided by the accommodation, or general remarks not tied to any particular entity. |
BookCriteria/Rooms/Remarks/ Text | 1 | String | The text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information. |
BookCriteria/Rooms/Surcharges | 0 . . N | Array<Surcharge> | Additional surcharges applied to this room. |
BookCriteria/Rooms/Surcharges/ ChargeType | 1 | ChargeType | Specifies whether the surcharge is included in the room rate or must be paid separately at the property. See ChargeType for possible values. |
BookCriteria/Rooms/Surcharges/ Mandatory | 1 | Boolean | Indicates whether this surcharge is mandatory. Mandatory surcharges, such as government taxes, must always be paid, while optional surcharges may depend on the guest's preferences. |
BookCriteria/Rooms/Surcharges/ Description | 1 | String | Provides a description of the surcharge, giving context about the type of cost it represents.Examples: "Tourist Tax", "Resort Fee", or "Additional Bed Fee". |
BookCriteria/Rooms/Surcharges/ Price | 1 | Price | Represents the price of this surcharge, including the amount and currency. See Price for details about the price structure. |
BookCriteria/Rooms/Surcharges/ Price/Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookCriteria/Rooms/Surcharges/ Price/Binding | 1 | Boolean | Indicates whether the price is binding. |
BookCriteria/Rooms/Surcharges/ Price/Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookCriteria/Rooms/Surcharges/ Price/Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookCriteria/Rooms/Surcharges/ Price/NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookCriteria/Rooms/Surcharges/ Price/MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookCriteria/Rooms/Surcharges/ Code | 0 . . 1 | String | An optional code that uniquely identifies this surcharge for internal or external reference. This can be useful for tracking specific fees or integrating with supplier systems. |
BookCriteria/Rooms/ CancelPolicy | 0 . . 1 | CancelPolicy | Cancellation policy specific to this room. |
BookCriteria/Rooms/ CancelPolicy/Refundable | 1 | Boolean | Indicates whether the booking is refundable. |
BookCriteria/Rooms/ CancelPolicy/CancelPenalties | 0 . . N | Array<CancelPenalty> | A collection of penalties that apply if the booking is canceled. |
BookCriteria/Rooms/ CancelPolicy/CancelPenalties/ HoursBefore | 0 . . 1 | Integer | [Deprecated] This field is deprecated. Use Deadline instead. Indicates the number of hours before the check-in date when the penalty becomes applicable. |
BookCriteria/Rooms/ CancelPolicy/CancelPenalties/ PenaltyType | 1 | PenaltyType | Specifies the type of penalty enforced upon cancellation. |
BookCriteria/Rooms/ CancelPolicy/CancelPenalties/ Currency | 1 | Currency | Specifies the currency in which the penalty value is expressed. |
BookCriteria/Rooms/ CancelPolicy/CancelPenalties/ Value | 1 | Double | Indicates the value of the penalty. |
BookCriteria/Rooms/ CancelPolicy/CancelPenalties/ Deadline | 1 | String | Date on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z ) |
BookCriteria/Rooms/ CancelPolicy/ CancelPolicyDescription | 0 . . 1 | String | Provides additional details or a textual summary of the cancellation policy. |
BookCriteria/Rooms/Beds | 0 . . N | Array<Bed> | List of beds available in the room, including types and configurations. |
BookCriteria/Rooms/Beds/Type | 0 . . 1 | String | The type of the bed. |
BookCriteria/Rooms/Beds/ Description | 0 . . 1 | String | A description of the bed. |
BookCriteria/Rooms/Beds/Count | 0 . . 1 | Integer | The number of beds of this type in the room. |
BookCriteria/Rooms/Beds/Shared | 0 . . 1 | Boolean | Indicates whether the bed is shared. |
BookCriteria/Rooms/Amenities | 0 . . N | Array<Amenity> | Amenities included with this room, such as Wi-Fi or parking. |
BookCriteria/Rooms/Amenities/ Code | 1 | String | A unique code that identifies the amenity. |
BookCriteria/Rooms/Amenities/ Type | 1 | AmenityType | The type of the amenity, defined by AmenityType. |
BookCriteria/Rooms/Amenities/ Value | 1 | String | The value associated with the amenity. |
BookCriteria/Rooms/Amenities/ Texts | 0 . . 1 | String | Additional textual information or description for the amenity. |
BookCriteria/Rooms/ UnitsSpecified | 1 | Boolean | Indicates whether the number of units has been explicitly specified. |
BookCriteria/Rooms/Features | 0 . . N | Array<Feature> | Features or custom attributes of the room, used for specific integrations. |
BookCriteria/Rooms/Features/ Code | 1 | String | The unique code identifying the feature of the room. |
BookCriteria/PaymentType | 1 | PaymentType | Gets the payment type for the booking. |
BookCriteria/Remarks | 0 . . N | Array<Remark> | Gets the remarks for the booking. |
BookCriteria/Remarks/ RemarkType | 1 | RemarkType | The type of the remark, categorized by RemarkType, specifies its nature or purpose. It may refer to the hotel as a whole, a specific room being booked, services provided by the accommodation, or general remarks not tied to any particular entity. |
BookCriteria/Remarks/Text | 1 | String | The text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information. |
BookCriteria/ClientReference | 1 | String | Gets the client reference for the booking. |
BookCriteria/BookPrice | 1 | BookPrice | Gets the book price for the booking. |
BookCriteria/BookPrice/Price | 1 | Price | The price of the booking. |
BookCriteria/BookPrice/Price/ Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookCriteria/BookPrice/Price/ Binding | 1 | Boolean | Indicates whether the price is binding. |
BookCriteria/BookPrice/Price/ Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookCriteria/BookPrice/Price/ Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookCriteria/BookPrice/Price/ NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookCriteria/BookPrice/Price/ MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookCriteria/BookPrice/ DeltaPrice | 1 | DeltaPrice | The delta price, representing any allowable price changes or adjustments. |
BookCriteria/BookPrice/ DeltaPrice/Amount | 1 | Double | The fixed amount allowed for the delta price. |
BookCriteria/BookPrice/ DeltaPrice/Percentage | 1 | Double | The percentage allowed for the delta price. |
BookCriteria/Holder | 1 | Holder | Gets or sets the holder information for the booking. |
BookCriteria/Holder/Name | 1 | String | The name of the holder. |
BookCriteria/Holder/SurName | 1 | String | The surname of the holder. |
BookCriteria/Holder/ PersonalTitleType | 1 | PersonalTitleType | The personal title type of the holder. |
BookCriteria/Holder/ ContactInfo | 0 . . 1 | ContactInfo | The contact information of the holder. |
BookCriteria/Holder/ ContactInfo/Email | 1 | String | The email address of the passenger. |
BookCriteria/Holder/ ContactInfo/Phone | 0 . . 1 | String | The phone number of the passenger. |
BookCriteria/PaymentCardInput | 0 . . 1 | CreditCardInput | Gets the payment card input for the booking. |
BookCriteria/PaymentCardInput/ Type | 1 | CreditCardType | The type of the credit card. |
BookCriteria/PaymentCardInput/ Number | 1 | String | The credit card number. |
BookCriteria/PaymentCardInput/ Cvc | 1 | String | The Card Verification Code (CVC) of the credit card. |
BookCriteria/PaymentCardInput/ Expiration | 1 | CreditCardExpiration | The expiration date of the credit card. |
BookCriteria/PaymentCardInput/ Expiration/Month | 1 | Integer | The expiration month of the credit card. |
BookCriteria/PaymentCardInput/ Expiration/Year | 1 | Integer | The expiration year of the credit card (last two digits). |
BookCriteria/PaymentCardInput/ Expiration/YearFull | 1 | Integer | Gets the full four-digit year of the credit card expiration. |
BookCriteria/PaymentCardInput/ IsVcc | 1 | Boolean | Indicates whether the credit card is a Virtual Credit Card (VCC). |
BookCriteria/PaymentCardInput/ Holder | 1 | Holder | The holder information of the credit card. |
BookCriteria/PaymentCardInput/ Holder/Name | 1 | String | The name of the holder. |
BookCriteria/PaymentCardInput/ Holder/SurName | 1 | String | The surname of the holder. |
BookCriteria/PaymentCardInput/ Holder/PersonalTitleType | 1 | PersonalTitleType | The personal title type of the holder. |
BookCriteria/PaymentCardInput/ Holder/ContactInfo | 0 . . 1 | ContactInfo | The contact information of the holder. |
BookCriteria/PaymentCardInput/ Holder/ContactInfo/Email | 1 | String | The email address of the passenger. |
BookCriteria/PaymentCardInput/ Holder/ContactInfo/Phone | 0 . . 1 | String | The phone number of the passenger. |
BookCriteria/PaymentCardInput/ VirtualCreditCard | 0 . . 1 | VirtualCreditCard | The virtual credit card information, if applicable. |
BookCriteria/PaymentCardInput/ VirtualCreditCard/ VCCActivationDate | 1 | String | Gets or sets the activation date of the virtual credit card. |
BookCriteria/PaymentCardInput/ VirtualCreditCard/ VCCDeactivationDate | 1 | String | Gets or sets the deactivation date of the virtual credit card. |
BookCriteria/PaymentCardInput/ VirtualCreditCard/ VCCCurrentBalance | 1 | Double | Gets or sets the current balance of the virtual credit card. |
BookCriteria/PaymentCardInput/ VirtualCreditCard/ VCCCurrencyCode | 1 | String | Gets or sets the currency code for the virtual credit card balance. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity | 0 . . 1 | ThreeDomainSecurity | The 3-D Secure authentication information for the credit card transaction. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ ThreeDSVersion | 1 | String | Gets or sets the version of 3-D Secure protocol used. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ DSTransactionID | 0 . . 1 | String | Gets or sets the Directory Server Transaction ID. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/XID | 0 . . 1 | String | Gets or sets the transaction identifier for 3-D Secure. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ECI | 0 . . 1 | String | Gets or sets the Electronic Commerce Indicator. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/CAVV | 0 . . 1 | String | Gets or sets the Cardholder Authentication Verification Value. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/PARes | 0 . . 1 | String | Gets or sets the Payer Authentication Response. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ PAResStatus | 0 . . 1 | PAResStatus | Gets or sets the status of the Payer Authentication Response. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ CardEnrolledStatus | 0 . . 1 | EnrolledStatus | Gets or sets the enrollment status of the card in 3-D Secure. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ MerchantName | 0 . . 1 | String | Gets or sets the name of the merchant. |
BookCriteria/PaymentCardInput/ ThreeDomainSecurity/ SignatureStatus | 0 . . 1 | SignatureStatus | Gets or sets the status of the signature in the 3-D Secure process. |
BookCriteria/PaymentCardInput/ UrlPayment | 0 . . 1 | UrlPayment | The URL payment information for the credit card transaction. |
BookCriteria/PaymentCardInput/ UrlPayment/Url | 1 | String | Gets or sets the URL for the payment. |
BookCriteria/Parameters | 0 . . N | Array<Parameter> | Gets or sets the additional parameters for the booking. |
BookCriteria/Parameters/Key | 1 | Integer | Identifies the parameter with a numeric key. |
BookCriteria/Parameters/Value | 1 | String | Defines the value associated with the parameter. |
BookCriteria/Parameters/ ParameterType | 1 | ParameterType | Specifies the type of the parameter (ParameterType), whether it is internal or supplier-related. |
BookCriteria/Parameters/ Immutable | 1 | Boolean | Indicates whether the parameter remains constant throughout operations (e.g., from Search to Quote and Book). In second searches or quotes, an immutable parameter is used to identify and match the same option. |
BookCriteria/Parameters/RoomId | 1 | Integer | Associates the parameter with a specific room, identified by its ID. |
Settings | 1 | BookSettings | The settings for the hotel booking. |
Settings/Supplier | 1 | String | Identifies the supplier associated with the hotel operation. This is a unique code generated by Travelgate within its system to represent the supplier. |
Settings/Platform | 1 | String | Represents the platform on which the hotel operation is performed.Platforms are collections of suppliers, and the platform code is generated by Travelgate to define the operational context. |
Settings/Client | 1 | String | A client is a tag or label that Buyers use to categorize their traffic. It is the entity that purchases accommodation services via our API. |
Settings/Access | 1 | Access | Contains access information required for the operation, including API credentials, endpoints, and other connection details specific to the supplier's integration. |
Settings/Access/Code | 1 | Integer | The unique code identifying the access configuration. |
Settings/Access/User | 0 . . 1 | String | The username used for authentication with the supplier. |
Settings/Access/Password | 0 . . 1 | String | The password used for authentication with the supplier. |
Settings/Access/ApiKey | 0 . . 1 | String | The API key used for authentication or authorization. |
Settings/Access/Urls | 1 | Urls | The URLs associated with the access configuration. |
Settings/Access/Urls/Book | 0 . . 1 | String | The URL used for booking operations. |
Settings/Access/Urls/Search | 0 . . 1 | String | The URL used for Search operations. |
Settings/Access/Urls/Quote | 0 . . 1 | String | The URL used for Quote operations. |
Settings/Access/Urls/Generic | 0 . . 1 | String | A generic URL for additional operations. |
Settings/Access/Parameters | 0 . . 1 | AccessParameters | Additional parameters related to the connection. |
Settings/BusinessRules | 0 . . 1 | BusinessRules | Specifies the business rules to be applied during the operation. These rules define operational constraints and behavior, such as quota limits or prioritization criteria. |
Settings/BusinessRules/ OptionsQuota | 0 . . 1 | Integer | The maximum number of options returned for each board in the Search query. |
Settings/BusinessRules/ BusinessRuleType | 1 | BusinessRulesType | The business rule type that determines how Search results are prioritized or filtered. |
Settings/Timeout | 1 | String | Defines the timeout period for the operation as a string value.This indicates the maximum amount of time to wait for a supplier's response before timing out.The value must be provided in timestamp format (e.g., "00:00:10" for 10 seconds). |
Settings/TimeoutAsTimeSpan | 0 . . 1 | String | Converts the timeout value from the string representation (Timeout) into a TimeSpan for use in time-based operations. |
Settings/ IncludeProviderTransactions | 1 | Boolean | Indicates whether detailed traces of provider transactions should be included in the operation's response.If enabled, the ProviderAudit field in responses will contain the transaction logs (e.g., requests and responses exchanged with the supplier). |
Settings/CommitRequired | 0 . . 1 | Boolean | Indicates whether a commit is required for the booking. |
Response
The response object contains the results of the booking operation.
Overview
The Book
operation returns:
- Booking Status:
Confirmed
: The reservation was successfully completed without any issues.Unknown
: During the reservation process, an issue led to an unknown reservation status. The Buyer is responsible for verifying with the Seller that the booking has been confirmed.Canceled
: The reservation was completed but due to a supplier error or a timeout the system will immediately cancel the reservation to prevent further possible errors.On_Request
: Please note that a Book status may change over time: you may receive an ON_REQUEST status in Book response, and after running a Booking Query some seconds later the status may have already changed to OK.
- Supplier Locator: A unique identifier for the booking from the supplier, used for future operations like cancellation or check bookings.
- Additional Details: May include booking remarks or warnings specific to the supplier.
Sample
- C#
- FormTest Sample JSON
var bookRs = new BookRs
{
AuditData = new AuditData
{
Request = new List<RequestItem>
{
new RequestItem
{
Data = "<x>SupplierRequest</x>",
Headers = new Dictionary<string, string>
{
{ "Accept", "application/x-protobuf" },
{ "Accept-Encoding", "gzip,deflate," }
},
HttpMethod = new HttpMethodType
{
Method = "POST"
},
SendAt = DateTime.Parse("2025-03-16T08:21:49Z"),
Url = "http://travelgate.com"
}
},
Response = new List<ResponseItem>
{
new ResponseItem
{
Data = "<x>SupplierResponse</x>",
Headers = new Dictionary<string, string>
{
{ "Content-Encoding", "gzip," }
},
HttpMethod = new HttpMethodType
{
Method = "POST"
},
ReceivedAt = DateTime.Parse("2025-03-16T08:21:49Z"),
StatusCode = 200
}
}
},
AdviseMessages = new List<AdviseMessage>
{
new AdviseMessage
{
Code = "SupplierError",
Level = "Error",
Description = "Supplier error, check external for more details",
External = new ExternalError
{
Code = "Code123",
Message = "Supplier internal error",
HttpStatusCode = 200
}
}
},
BookDetails = new BookDetails
{
Status = "Ok",
Reference = new BookingReference
{
ClientLocator = "ClientReference12345",
SupplierLocator = "SupplierLocator389b10ca-893b-4e7b-adf6-b067a1b1d9b3",
HotelLocator = "HotelLocator208c2b6f-1cdf-4204-9ebe-f147808218d9"
},
Holder = new Holder
{
Name = "John",
SurName = "Smith",
PersonalTitleType = "MR",
ContactInfo = new ContactInfo
{
Email = "someemail@travelgate.com",
Phone = "66666666"
}
},
Hotel = new HotelInfo
{
BookingDate = DateTime.Parse("2024-05-10"),
CheckIn = DateTime.Parse("2024-05-12"),
CheckOut = DateTime.Parse("2024-05-14"),
HotelCode = "12345",
HotelName = "Hotel Travelgate",
BoardCode = "RO",
Occupancies = new List<Occupancy>
{
new Occupancy
{
OccupancyId = 1,
Paxes = new List<Pax>
{
new Pax { Age = 30 },
new Pax { Age = 30 }
}
}
},
Rooms = new List<Room>
{
new Room
{
OccupancyRefId = 1,
Code = "DBL",
Description = "Double standard",
RoomPrice = new RoomPrice
{
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 100,
Gross = 100,
NetSpecified = true,
MinimumSellingPrice = 100
},
PriceBreakdown = new List<PriceBreakdown>
{
new PriceBreakdown
{
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 50,
Gross = 50,
NetSpecified = true,
MinimumSellingPrice = 50
},
Start = 0,
End = 1
},
new PriceBreakdown
{
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 50,
Gross = 50,
NetSpecified = true,
MinimumSellingPrice = 50
},
Start = 1,
End = 2
}
}
},
Refundable = true,
RefundableSpecified = false
}
}
},
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 100,
Gross = 100,
NetSpecified = true,
MinimumSellingPrice = 100
},
CancelPolicy = new CancelPolicy
{
RoomCancelPolicyDescriptions = new List<RoomCancelPolicyDescription>
{
new RoomCancelPolicyDescription
{
OccupancyRefId = 1,
Description = "Cancellations within 48 hours before check-in incur a 50% charge."
}
},
Refundable = false,
CancelPenalties = new List<CancelPenalty>
{
new CancelPenalty
{
HoursBefore = 48,
PenaltyType = "Percentage",
Currency = "EUR",
Value = 50,
Deadline = DateTime.Parse("2025-05-30T23:59:59Z")
}
},
CancelPolicyDescription = "50% charge if canceled within 48 hours before check-in."
},
Remarks = new List<Remark>
{
new Remark
{
RemarkType = "General",
Text = "CheckIn at 10:00 AM"
}
}
}
};
"bookRs":
{
"auditData":
{
"request":
[
{
"data": "<x>SupplierRequest</x>",
"headers":
{
"Accept": "application/x-protobuf",
"Accept-Encoding": "gzip,deflate,"
},
"httpMethod":
{
"method": "POST"
},
"sendAt": "2025-03-16 08:21:49Z",
"url": "http://travelgate.com"
}
],
"response":
[
{
"data": "<x>SupplierResponse</x>",
"headers":
{
"Content-Encoding": "gzip,"
},
"httpMethod":
{
"method": "POST"
},
"receivedAt": "2025-03-16 08:21:49Z",
"statusCode": 200
}
]
},
"adviseMessages":
[
{
"code": "SupplierError",
"level": "Error",
"description": "Supplier error, check external for more details",
"external":
{
"code": "Code123",
"message": "Supplier internal error",
"httpStatusCode": 200
}
}
],
"bookDetails":
{
"status": "Ok",
"reference":
{
"clientLocator": "ClientReference12345",
"supplierLocator": "SupplierLocator389b10ca-893b-4e7b-adf6-b067a1b1d9b3",
"hotelLocator": "HotelLocator208c2b6f-1cdf-4204-9ebe-f147808218d9"
},
"holder":
{
"name": "John",
"surName": "Smith",
"personalTitleType": "MR",
"contactInfo":
{
"email": "someemail@travelgate.com",
"phone": "66666666"
}
},
"hotel":
{
"bookingDate": "2024-05-10",
"checkIn": "2024-05-12",
"checkOut": "2024-05-14",
"hotelCode": "12345",
"hotelName": "Hotel Travelgate",
"boardCode": "RO",
"occupancies":
[
{
"occupancyId": 1,
"paxes":
[
{
"age": 30
},
{
"age": 30
}
]
}
],
"rooms":
[
{
"occupancyRefId": 1,
"code": "DBL",
"description": "Double standard",
"roomPrice":
{
"price":
{
"currency": "EUR",
"binding": true,
"net": 100,
"gross": 100,
"netSpecified": true,
"minimumSellingPrice": 100
},
"priceBreakdown":
[
{
"price":
{
"currency": "EUR",
"binding": true,
"net": 50,
"gross": 50,
"netSpecified": true,
"minimumSellingPrice": 50
},
"start": 0,
"end": 1
},
{
"price":
{
"currency": "EUR",
"binding": true,
"net": 50,
"gross": 50,
"netSpecified": true,
"minimumSellingPrice": 50
},
"start": 1,
"end": 2
}
]
},
"refundable": true,
"refundableSpecified": false
}
]
},
"price":
{
"currency": "EUR",
"binding": true,
"net": 100,
"gross": 100,
"netSpecified": true,
"minimumSellingPrice": 100
},
"cancelPolicy":
{
"roomCancelPolicyDescriptions":
[
{
"occupancyRefId": 1,
"description": "Cancellations within 48 hours before check-in incur a 50% charge."
}
],
"refundable": false,
"cancelPenalties":
[
{
"hoursBefore": 48,
"penaltyType": "Percentage",
"currency": "EUR",
"value": 50,
"deadline": "2025-05-30T23:59:59Z"
}
],
"cancelPolicyDescription": "50% charge if canceled within 48 hours before check-in."
},
"remarks":
[
{
"remarkType": "General",
"text": "CheckIn at 10:00 AM"
}
]
}
}
Details
Name | Relation | Type | Description |
---|---|---|---|
AuditData | 1 | ProviderAudit | Contains the requests and responses exchanged with the supplier.This field is populated internally by the connector framework. Integrators do not need to handle this field manually. |
AuditData/Request | 0 . . N | Array<ProviderAuditRq> | Collection of audit entries for provider requests.Each entry contains details about a specific request made to the provider. |
AuditData/Request/SendAt | 1 | String | The timestamp indicating when the request was sent. Date on UTC Standard (ISO 8601 UTC 2025-05-21T08:48:53.9744052+00:00 ) |
AuditData/Request/Data | 1 | String | The payload data included in the request. |
AuditData/Request/Url | 1 | String | The URL of the provider endpoint to which the request is sent. |
AuditData/Request/Headers | 1 | Object | A collection of headers included in the request. |
AuditData/Request/HttpMethod | 1 | HttpMethod | The HTTP method used to send the request. |
AuditData/Request/HttpMethod/ Method | 1 | String | No description available. |
AuditData/Response | 0 . . N | Array<ProviderAuditRs> | Collection of audit entries for provider responses.Each entry contains details about a specific response received from the provider. |
AuditData/Response/ReceivedAt | 1 | String | The timestamp indicating when the response was received. Date on UTC Standard (ISO 8601 UTC 2025-05-21T08:48:53.9744052+00:00 ) |
AuditData/Response/Data | 1 | String | The payload data contained in the provider's response. |
AuditData/Response/Headers | 1 | Object | A collection of headers included in the provider's response. |
AuditData/Response/StatusCode | 1 | Integer | The HTTP status code returned by the provider. |
AdviseMessages | 0 . .N | Array<AdviseMessage> | The collection of advise messages associated with the booking response. |
AdviseMessages/Code | 1 | AdviseMessageCode | Gets the code that represents the message type. |
AdviseMessages/Level | 1 | AdviseMessageLevel | Gets the severity level of the message (e.g., Error, Warning, or Info). |
AdviseMessages/Description | 1 | String | Gets the message description providing additional context. |
AdviseMessages/CorrelationId | 0 . . 1 | String | Gets a unique identifier for correlating the message with specific operations. |
AdviseMessages/External | 0 . . 1 | External | Gets additional external details associated with the message. |
AdviseMessages/External/Code | 0 . . 1 | String | The supplier's internal code for identifying the nature of the response or error. |
AdviseMessages/External/ Message | 1 | String | A descriptive message returned by the supplier. |
AdviseMessages/External/ HttpStatusCode | 1 | Integer | The HTTP status code of the supplier's response. |
BookDetails | 1 | BookDetails | The details of the booking. |
BookDetails/Status | 1 | BookStatus | The current status of the booking. |
BookDetails/Reference | 1 | Reference | A collection of locators that identify the booking. |
BookDetails/Reference/ ClientLocator | 0 . . 1 | String | The booking locator provided by the client.This is typically used to match the booking in the client's internal systems. |
BookDetails/Reference/ SupplierLocator | 1 | String | The booking locator provided by the supplier.This identifier is used to reference the booking in the supplier's system. |
BookDetails/Reference/ HotelLocator | 0 . . 1 | String | The booking locator specific to the hotel, provided by the supplier. (Optional)This may be required in cases where the hotel system uses its own unique identifiers. |
BookDetails/Holder | 0 . . 1 | Holder | The personal details of the booking holder. |
BookDetails/Holder/Name | 1 | String | The name of the holder. |
BookDetails/Holder/SurName | 1 | String | The surname of the holder. |
BookDetails/Holder/ PersonalTitleType | 1 | PersonalTitleType | The personal title type of the holder. |
BookDetails/Holder/ContactInfo | 0 . . 1 | ContactInfo | The contact information of the holder. |
BookDetails/Holder/ContactInfo/ | 1 | String | The email address of the passenger. |
BookDetails/Holder/ContactInfo/ Phone | 0 . . 1 | String | The phone number of the passenger. |
BookDetails/Hotel | 0 . . 1 | HotelDetail | The hotel details associated with the booking. |
BookDetails/Hotel/BookingDate | 0 . . 1 | String | The date when the booking was created. |
BookDetails/Hotel/CheckIn | 0 . . 1 | String | The check-in date for the booking. |
BookDetails/Hotel/CheckOut | 0 . . 1 | String | The check-out date for the booking. |
BookDetails/Hotel/ CheckInAsDateTime | 0 . . 1 | String | The check-in date as a DateTime object. |
BookDetails/Hotel/ CheckOutAsDateTime | 0 . . 1 | String | The check-out date as a DateTime object. |
BookDetails/Hotel/HotelCode | 0 . . 1 | String | The unique code identifying the hotel. |
BookDetails/Hotel/HotelName | 0 . . 1 | String | The name of the hotel associated with the booking. |
BookDetails/Hotel/BoardCode | 0 . . 1 | String | The board code for the booking. |
BookDetails/Hotel/Occupancies | 0 . . N | Array<BookOccupancy> | The collection of occupancies associated with the booking. |
BookDetails/Hotel/Occupancies/ OccupancyId | 1 | Integer | The unique identifier for the occupancy. |
BookDetails/Hotel/Occupancies/ Paxes | 1 . . N | Array<BookPaxInput> | The collection of passenger inputs (paxes) for the occupancy. |
BookDetails/Hotel/Occupancies/ Paxes/Age | 1 | Integer | The age of the passenger. |
BookDetails/Hotel/Occupancies/ Paxes/Name | 1 | String | The first name of the passenger. |
BookDetails/Hotel/Occupancies/ Paxes/SurName | 1 | String | The surname (last name) of the passenger. |
BookDetails/Hotel/Occupancies/ Paxes/PersonalTitleType | 1 | PersonalTitleType | The personal title type of the passenger. |
BookDetails/Hotel/Rooms | 0 . . N | Array<Room> | The collection of rooms included in the booking. |
BookDetails/Hotel/Rooms/ OccupancyRefId | 1 | Integer | Numeric ID linking this room to its occupancy data in the Occupancy. |
BookDetails/Hotel/Rooms/Code | 1 | String | Unique code assigned to this room. |
BookDetails/Hotel/Rooms/ Description | 0 . . 1 | String | Description of the room's features or characteristics. |
BookDetails/Hotel/Rooms/ RoomPrice | 1 | RoomPrice | Pricing information for the room, including total price and currency details. |
BookDetails/Hotel/Rooms/ RoomPrice/Price | 1 | Price | The total price of the room. |
BookDetails/Hotel/Rooms/ RoomPrice/Price/Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookDetails/Hotel/Rooms/ RoomPrice/Price/Binding | 1 | Boolean | Indicates whether the price is binding. |
BookDetails/Hotel/Rooms/ RoomPrice/Price/Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookDetails/Hotel/Rooms/ RoomPrice/Price/Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookDetails/Hotel/Rooms/ RoomPrice/Price/NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookDetails/Hotel/Rooms/ RoomPrice/Price/ MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown | 0 . . N | Array<PriceBreakdown> | Breakdown of the room price over specific periods, such as daily rates. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price | 1 | Price | The price for each day of the room during the specified period. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price/ Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price/ Binding | 1 | Boolean | Indicates whether the price is binding. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price/ Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price/ Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price/ NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Price/ MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/Start | 1 | Integer | The starting day of the pricing period (inclusive). |
BookDetails/Hotel/Rooms/ RoomPrice/PriceBreakdown/End | 1 | Integer | The ending day of the pricing period (inclusive). |
BookDetails/Hotel/Rooms/ Refundable | 1 | Boolean | Indicates if the room is refundable based on the cancellation policy. |
BookDetails/Hotel/Rooms/ RefundableSpecified | 1 | Boolean | Indicates whether the refundable status has been explicitly specified. |
BookDetails/Hotel/Rooms/ LegacyRoomId | 1 | String | Legacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code. |
BookDetails/Hotel/Rooms/Units | 0 . . 1 | Integer | Number of units available for this room type. |
BookDetails/Hotel/Rooms/ RatePlan | 0 . . 1 | RatePlan | Rate plan associated with this room. |
BookDetails/Hotel/Rooms/ RatePlan/Code | 1 | String | The unique code for the rate plan. |
BookDetails/Hotel/Rooms/ RatePlan/Name | 0 . . 1 | String | The name of the rate plan. |
BookDetails/Hotel/Rooms/ Promotions | 0 . . N | Array<Promotion> | Promotions or discounts applicable to this room. |
BookDetails/Hotel/Rooms/ Promotions/Code | 1 | String | The unique code identifying the promotion. |
BookDetails/Hotel/Rooms/ Promotions/Name | 0 . . 1 | String | The name of the promotion. |
BookDetails/Hotel/Rooms/ Remarks | 0 . . N | Array<Remark> | Additional remarks or notes about this room. |
BookDetails/Hotel/Rooms/ Remarks/RemarkType | 1 | RemarkType | The type of the remark, categorized by RemarkType, specifies its nature or purpose. It may refer to the hotel as a whole, a specific room being booked, services provided by the accommodation, or general remarks not tied to any particular entity. |
BookDetails/Hotel/Rooms/ Remarks/Text | 1 | String | The text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information. |
BookDetails/Hotel/Rooms/ Surcharges | 0 . . N | Array<Surcharge> | Additional surcharges applied to this room. |
BookDetails/Hotel/Rooms/ Surcharges/ChargeType | 1 | ChargeType | Specifies whether the surcharge is included in the room rate or must be paid separately at the property. See ChargeType for possible values. |
BookDetails/Hotel/Rooms/ Surcharges/Mandatory | 1 | Boolean | Indicates whether this surcharge is mandatory. Mandatory surcharges, such as government taxes, must always be paid, while optional surcharges may depend on the guest's preferences. |
BookDetails/Hotel/Rooms/ Surcharges/Description | 1 | String | Provides a description of the surcharge, giving context about the type of cost it represents.Examples: "Tourist Tax", "Resort Fee", or "Additional Bed Fee". |
BookDetails/Hotel/Rooms/ Surcharges/Price | 1 | Price | Represents the price of this surcharge, including the amount and currency. See Price for details about the price structure. |
BookDetails/Hotel/Rooms/ Surcharges/Price/Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookDetails/Hotel/Rooms/ Surcharges/Price/Binding | 1 | Boolean | Indicates whether the price is binding. |
BookDetails/Hotel/Rooms/ Surcharges/Price/Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookDetails/Hotel/Rooms/ Surcharges/Price/Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookDetails/Hotel/Rooms/ Surcharges/Price/NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookDetails/Hotel/Rooms/ Surcharges/Price/ MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookDetails/Hotel/Rooms/ Surcharges/Code | 0 . . 1 | String | An optional code that uniquely identifies this surcharge for internal or external reference. This can be useful for tracking specific fees or integrating with supplier systems. |
BookDetails/Hotel/Rooms/ CancelPolicy | 0 . . 1 | CancelPolicy | Cancellation policy specific to this room. |
BookDetails/Hotel/Rooms/ CancelPolicy/Refundable | 1 | Boolean | Indicates whether the booking is refundable. |
BookDetails/Hotel/Rooms/ CancelPolicy/CancelPenalties | 0 . . N | Array<CancelPenalty> | A collection of penalties that apply if the booking is canceled. |
BookDetails/Hotel/Rooms/ CancelPolicy/CancelPenalties/ HoursBefore | 0 . . 1 | Integer | [Deprecated] This field is deprecated. Use Deadline instead. Indicates the number of hours before the check-in date when the penalty becomes applicable. |
BookDetails/Hotel/Rooms/ CancelPolicy/CancelPenalties/ PenaltyType | 1 | PenaltyType | Specifies the type of penalty enforced upon cancellation. |
BookDetails/Hotel/Rooms/ CancelPolicy/CancelPenalties/ Currency | 1 | Currency | Specifies the currency in which the penalty value is expressed. |
BookDetails/Hotel/Rooms/ CancelPolicy/CancelPenalties/ Value | 1 | Double | Indicates the value of the penalty. |
BookDetails/Hotel/Rooms/ CancelPolicy/CancelPenalties/ Deadline | 1 | String | Date on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z ) |
BookDetails/Hotel/Rooms/ CancelPolicy/ CancelPolicyDescription | 0 . . 1 | String | Provides additional details or a textual summary of the cancellation policy. |
BookDetails/Hotel/Rooms/Beds | 0 . . N | Array<Bed> | List of beds available in the room, including types and configurations. |
BookDetails/Hotel/Rooms/Beds/ Type | 0 . . 1 | String | The type of the bed. |
BookDetails/Hotel/Rooms/Beds/ Description | 0 . . 1 | String | A description of the bed. |
BookDetails/Hotel/Rooms/Beds/ Count | 0 . . 1 | Integer | The number of beds of this type in the room. |
BookDetails/Hotel/Rooms/Beds/ Shared | 0 . . 1 | Boolean | Indicates whether the bed is shared. |
BookDetails/Hotel/Rooms/ Amenities | 0 . . N | Array<Amenity> | Amenities included with this room, such as Wi-Fi or parking. |
BookDetails/Hotel/Rooms/ Amenities/Code | 1 | String | A unique code that identifies the amenity. |
BookDetails/Hotel/Rooms/ Amenities/Type | 1 | AmenityType | The type of the amenity, defined by AmenityType. |
BookDetails/Hotel/Rooms/ Amenities/Value | 1 | String | The value associated with the amenity. |
BookDetails/Hotel/Rooms/ Amenities/Texts | 0 . . 1 | String | Additional textual information or description for the amenity. |
BookDetails/Hotel/Rooms/ UnitsSpecified | 1 | Boolean | Indicates whether the number of units has been explicitly specified. |
BookDetails/Hotel/Rooms/ Features | 0 . . N | Array<Feature> | Features or custom attributes of the room, used for specific integrations. |
BookDetails/Hotel/Rooms/ Features/Code | 1 | String | The unique code identifying the feature of the room. |
BookDetails/Price | 1 | Price | The total price of the booking. |
BookDetails/Price/Currency | 1 | Currency | The currency of the price, represented in ISO 4217 format (e.g., USD, EUR). |
BookDetails/Price/Binding | 1 | Boolean | Indicates whether the price is binding. |
BookDetails/Price/Net | 1 | Double | The net price paid by the Buyer to the Seller. |
BookDetails/Price/Gross | 1 | Double | The gross price, which includes the net price and the Buyer's commission. |
BookDetails/Price/NetSpecified | 1 | Boolean | Indicates whether the net price is explicitly specified. |
BookDetails/Price/ MinimumSellingPrice | 1 | Double | The minimum selling price. |
BookDetails/CancelPolicy | 0 . . 1 | CancelPolicy | The cancellation policy associated with the booking. |
BookDetails/CancelPolicy/ Refundable | 1 | Boolean | Indicates whether the booking is refundable. |
BookDetails/CancelPolicy/ CancelPenalties | 0 . . N | Array<CancelPenalty> | A collection of penalties that apply if the booking is canceled. |
BookDetails/CancelPolicy/ CancelPenalties/HoursBefore | 1 | Integer | [Deprecated] This field is deprecated. Use Deadline instead. Indicates the number of hours before the check-in date when the penalty becomes applicable. |
BookDetails/CancelPolicy/ CancelPenalties/PenaltyType | 1 | PenaltyType | Specifies the type of penalty enforced upon cancellation. |
BookDetails/CancelPolicy/ CancelPenalties/Currency | 1 | Currency | Specifies the currency in which the penalty value is expressed. |
BookDetails/CancelPolicy/ CancelPenalties/Value | 1 | Double | Indicates the value of the penalty. |
BookDetails/CancelPolicy/ CancelPenalties/Deadline | 1 | String | Date on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z ) |
BookDetails/CancelPolicy/ CancelPolicyDescription | 0 . . 1 | String | Provides additional details or a textual summary of the cancellation policy. |
BookDetails/Remarks | 0 . . N | Array<Remark> | Additional remarks or notes related to the booking. |
BookDetails/Remarks/RemarkType | 1 | RemarkType | The type of the remark, categorized by RemarkType, specifies its nature or purpose. It may refer to the hotel as a whole, a specific room being booked, services provided by the accommodation, or general remarks not tied to any particular entity. |
BookDetails/Remarks/Text | 1 | String | The text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information. |
BookDetails/ BillingSupplierCode | 0 . . 1 | String | The code of the agency responsible for the booking. |
BookDetails/Payable | 0 . . 1 | String | Information about the entity responsible for payment of the booking. |
BookDetails/AddOns | 0 . . 1 | Object | Additional metadata provided by the supplier for internal use. |
AddOns | 0 . . 1 | Object | A dictionary containing supplier information for the option. |