Skip to main content

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

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

Details

NameRelationTypeDescription
BookCriteria1BookCriteriaThe booking criteria for the hotel reservation.
BookCriteria/CheckIn1StringThe check-in date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD).
BookCriteria/CheckOut1StringThe check-out date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD).
BookCriteria/CheckInAsDateTime0 . . 1StringThe check-in date parsed as a DateTime object, expressed in UTC 0
BookCriteria/
CheckOutAsDateTime
0 . . 1StringThe check-out date parsed as a DateTime object, expressed in UTC 0
BookCriteria/TotalNights0 . . 1IntegerThe total number of nights for the stay, calculated as the difference between check-in and check-out dates.
BookCriteria/Language1StringThe language code for the operation, represented as a 2-character ISO 639-1 code (e.g., "en", "es").
BookCriteria/Currency0 . . 1CurrencyThe preferred currency for the operation, defined as an optional Currency value.
BookCriteria/Nationality0 . . 1StringThe nationality code of the client, represented as a 2-character ISO 3166-1 alpha-2 country code (e.g., "US", "FR").
BookCriteria/Accommodation1AccommodationRQAccommodation details for the Quote request, such as the hotel or rental being evaluated.
BookCriteria/Accommodation/
Type
1AccommodationTypeSpecifies the type of accommodation being requested, such as Hotel or Rental.
BookCriteria/Accommodation/
Code
1StringRepresents a unique code identifying the accommodation in the request.
BookCriteria/BoardCode1StringGets the board code for the booking.
BookCriteria/Occupancies1 . . NArray<BookOccupancy>Gets the occupancies for the booking.
BookCriteria/Occupancies/
OccupancyId
1IntegerThe unique identifier for the occupancy.
BookCriteria/Occupancies/Paxes1 . . NArray<BookPaxInput>The collection of passenger inputs (paxes) for the occupancy.
BookCriteria/Occupancies/Paxes/
Age
1IntegerThe age of the passenger.
BookCriteria/Occupancies/Paxes/
Name
1StringThe first name of the passenger.
BookCriteria/Occupancies/Paxes/
SurName
1StringThe surname (last name) of the passenger.
BookCriteria/Occupancies/Paxes/
PersonalTitleType
1PersonalTitleTypeThe personal title type of the passenger.
BookCriteria/Market0 . . 1StringGets or sets the market for the booking.
BookCriteria/Rooms1 . . NArray<Room>Gets the rooms for the booking.
BookCriteria/Rooms/
OccupancyRefId
1IntegerNumeric ID linking this room to its occupancy data in the Occupancy.
BookCriteria/Rooms/Code1StringUnique code assigned to this room.
BookCriteria/Rooms/Description0 . . 1StringDescription of the room's features or characteristics.
BookCriteria/Rooms/RoomPrice1RoomPricePricing information for the room, including total price and currency details.
BookCriteria/Rooms/RoomPrice/
Price
1PriceThe total price of the room.
BookCriteria/Rooms/RoomPrice/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookCriteria/Rooms/RoomPrice/
Price/Binding
1BooleanIndicates whether the price is binding.
BookCriteria/Rooms/RoomPrice/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
BookCriteria/Rooms/RoomPrice/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookCriteria/Rooms/RoomPrice/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookCriteria/Rooms/RoomPrice/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown
0 . . NArray<PriceBreakdown>Breakdown of the room price over specific periods, such as daily rates.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price
1PriceThe price for each day of the room during the specified period.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Binding
1BooleanIndicates whether the price is binding.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/Start
1IntegerThe starting day of the pricing period (inclusive).
BookCriteria/Rooms/RoomPrice/
PriceBreakdown/End
1IntegerThe ending day of the pricing period (inclusive).
BookCriteria/Rooms/Refundable1BooleanIndicates if the room is refundable based on the cancellation policy.
BookCriteria/Rooms/
RefundableSpecified
1BooleanIndicates whether the refundable status has been explicitly specified.
BookCriteria/Rooms/
LegacyRoomId
1StringLegacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code.
BookCriteria/Rooms/Units0 . . 1IntegerNumber of units available for this room type.
BookCriteria/Rooms/RatePlan0 . . 1RatePlanRate plan associated with this room.
BookCriteria/Rooms/RatePlan/
Code
1StringThe unique code for the rate plan.
BookCriteria/Rooms/RatePlan/
Name
0 . . 1StringThe name of the rate plan.
BookCriteria/Rooms/Promotions0 . . NArray<Promotion>Promotions or discounts applicable to this room.
BookCriteria/Rooms/Promotions/
Code
1StringThe unique code identifying the promotion.
BookCriteria/Rooms/Promotions/
Name
0 . . 1StringThe name of the promotion.
BookCriteria/Rooms/Remarks0 . . NArray<Remark>Additional remarks or notes about this room.
BookCriteria/Rooms/Remarks/
RemarkType
1RemarkTypeThe 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
1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
BookCriteria/Rooms/Surcharges0 . . NArray<Surcharge>Additional surcharges applied to this room.
BookCriteria/Rooms/Surcharges/
ChargeType
1ChargeTypeSpecifies 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
1BooleanIndicates 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
1StringProvides 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
1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
BookCriteria/Rooms/Surcharges/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookCriteria/Rooms/Surcharges/
Price/Binding
1BooleanIndicates whether the price is binding.
BookCriteria/Rooms/Surcharges/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
BookCriteria/Rooms/Surcharges/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookCriteria/Rooms/Surcharges/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookCriteria/Rooms/Surcharges/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
BookCriteria/Rooms/Surcharges/
Code
0 . . 1StringAn 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 . . 1CancelPolicyCancellation policy specific to this room.
BookCriteria/Rooms/
CancelPolicy/Refundable
1BooleanIndicates whether the booking is refundable.
BookCriteria/Rooms/
CancelPolicy/CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
BookCriteria/Rooms/
CancelPolicy/CancelPenalties/
HoursBefore
0 . . 1Integer[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
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
BookCriteria/Rooms/
CancelPolicy/CancelPenalties/
Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
BookCriteria/Rooms/
CancelPolicy/CancelPenalties/
Value
1DoubleIndicates the value of the penalty.
BookCriteria/Rooms/
CancelPolicy/CancelPenalties/
Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
BookCriteria/Rooms/
CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
BookCriteria/Rooms/Beds0 . . NArray<Bed>List of beds available in the room, including types and configurations.
BookCriteria/Rooms/Beds/Type0 . . 1StringThe type of the bed.
BookCriteria/Rooms/Beds/
Description
0 . . 1StringA description of the bed.
BookCriteria/Rooms/Beds/Count0 . . 1IntegerThe number of beds of this type in the room.
BookCriteria/Rooms/Beds/Shared0 . . 1BooleanIndicates whether the bed is shared.
BookCriteria/Rooms/Amenities0 . . NArray<Amenity>Amenities included with this room, such as Wi-Fi or parking.
BookCriteria/Rooms/Amenities/
Code
1StringA unique code that identifies the amenity.
BookCriteria/Rooms/Amenities/
Type
1AmenityTypeThe type of the amenity, defined by AmenityType.
BookCriteria/Rooms/Amenities/
Value
1StringThe value associated with the amenity.
BookCriteria/Rooms/Amenities/
Texts
0 . . 1StringAdditional textual information or description for the amenity.
BookCriteria/Rooms/
UnitsSpecified
1BooleanIndicates whether the number of units has been explicitly specified.
BookCriteria/Rooms/Features0 . . NArray<Feature>Features or custom attributes of the room, used for specific integrations.
BookCriteria/Rooms/Features/
Code
1StringThe unique code identifying the feature of the room.
BookCriteria/PaymentType1PaymentTypeGets the payment type for the booking.
BookCriteria/Remarks0 . . NArray<Remark>Gets the remarks for the booking.
BookCriteria/Remarks/
RemarkType
1RemarkTypeThe 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/Text1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
BookCriteria/ClientReference1StringGets the client reference for the booking.
BookCriteria/BookPrice1BookPriceGets the book price for the booking.
BookCriteria/BookPrice/Price1PriceThe price of the booking.
BookCriteria/BookPrice/Price/
Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookCriteria/BookPrice/Price/
Binding
1BooleanIndicates whether the price is binding.
BookCriteria/BookPrice/Price/
Net
1DoubleThe net price paid by the Buyer to the Seller.
BookCriteria/BookPrice/Price/
Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookCriteria/BookPrice/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookCriteria/BookPrice/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
BookCriteria/BookPrice/
DeltaPrice
1DeltaPriceThe delta price, representing any allowable price changes or adjustments.
BookCriteria/BookPrice/
DeltaPrice/Amount
1DoubleThe fixed amount allowed for the delta price.
BookCriteria/BookPrice/
DeltaPrice/Percentage
1DoubleThe percentage allowed for the delta price.
BookCriteria/Holder1HolderGets or sets the holder information for the booking.
BookCriteria/Holder/Name1StringThe name of the holder.
BookCriteria/Holder/SurName1StringThe surname of the holder.
BookCriteria/Holder/
PersonalTitleType
1PersonalTitleTypeThe personal title type of the holder.
BookCriteria/Holder/
ContactInfo
0 . . 1ContactInfoThe contact information of the holder.
BookCriteria/Holder/
ContactInfo/Email
1StringThe email address of the passenger.
BookCriteria/Holder/
ContactInfo/Phone
0 . . 1StringThe phone number of the passenger.
BookCriteria/PaymentCardInput0 . . 1CreditCardInputGets the payment card input for the booking.
BookCriteria/PaymentCardInput/
Type
1CreditCardTypeThe type of the credit card.
BookCriteria/PaymentCardInput/
Number
1StringThe credit card number.
BookCriteria/PaymentCardInput/
Cvc
1StringThe Card Verification Code (CVC) of the credit card.
BookCriteria/PaymentCardInput/
Expiration
1CreditCardExpirationThe expiration date of the credit card.
BookCriteria/PaymentCardInput/
Expiration/Month
1IntegerThe expiration month of the credit card.
BookCriteria/PaymentCardInput/
Expiration/Year
1IntegerThe expiration year of the credit card (last two digits).
BookCriteria/PaymentCardInput/
Expiration/YearFull
1IntegerGets the full four-digit year of the credit card expiration.
BookCriteria/PaymentCardInput/
IsVcc
1BooleanIndicates whether the credit card is a Virtual Credit Card (VCC).
BookCriteria/PaymentCardInput/
Holder
1HolderThe holder information of the credit card.
BookCriteria/PaymentCardInput/
Holder/Name
1StringThe name of the holder.
BookCriteria/PaymentCardInput/
Holder/SurName
1StringThe surname of the holder.
BookCriteria/PaymentCardInput/
Holder/PersonalTitleType
1PersonalTitleTypeThe personal title type of the holder.
BookCriteria/PaymentCardInput/
Holder/ContactInfo
0 . . 1ContactInfoThe contact information of the holder.
BookCriteria/PaymentCardInput/
Holder/ContactInfo/Email
1StringThe email address of the passenger.
BookCriteria/PaymentCardInput/
Holder/ContactInfo/Phone
0 . . 1StringThe phone number of the passenger.
BookCriteria/PaymentCardInput/
VirtualCreditCard
0 . . 1VirtualCreditCardThe virtual credit card information, if applicable.
BookCriteria/PaymentCardInput/
VirtualCreditCard/
VCCActivationDate
1StringGets or sets the activation date of the virtual credit card.
BookCriteria/PaymentCardInput/
VirtualCreditCard/
VCCDeactivationDate
1StringGets or sets the deactivation date of the virtual credit card.
BookCriteria/PaymentCardInput/
VirtualCreditCard/
VCCCurrentBalance
1DoubleGets or sets the current balance of the virtual credit card.
BookCriteria/PaymentCardInput/
VirtualCreditCard/
VCCCurrencyCode
1StringGets or sets the currency code for the virtual credit card balance.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity
0 . . 1ThreeDomainSecurityThe 3-D Secure authentication information for the credit card transaction.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/
ThreeDSVersion
1StringGets or sets the version of 3-D Secure protocol used.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/
DSTransactionID
0 . . 1StringGets or sets the Directory Server Transaction ID.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/XID
0 . . 1StringGets or sets the transaction identifier for 3-D Secure.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/ECI
0 . . 1StringGets or sets the Electronic Commerce Indicator.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/CAVV
0 . . 1StringGets or sets the Cardholder Authentication Verification Value.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/PARes
0 . . 1StringGets or sets the Payer Authentication Response.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/
PAResStatus
0 . . 1PAResStatusGets or sets the status of the Payer Authentication Response.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/
CardEnrolledStatus
0 . . 1EnrolledStatusGets or sets the enrollment status of the card in 3-D Secure.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/
MerchantName
0 . . 1StringGets or sets the name of the merchant.
BookCriteria/PaymentCardInput/
ThreeDomainSecurity/
SignatureStatus
0 . . 1SignatureStatusGets or sets the status of the signature in the 3-D Secure process.
BookCriteria/PaymentCardInput/
UrlPayment
0 . . 1UrlPaymentThe URL payment information for the credit card transaction.
BookCriteria/PaymentCardInput/
UrlPayment/Url
1StringGets or sets the URL for the payment.
BookCriteria/Parameters0 . . NArray<Parameter>Gets or sets the additional parameters for the booking.
BookCriteria/Parameters/Key1IntegerIdentifies the parameter with a numeric key.
BookCriteria/Parameters/Value1StringDefines the value associated with the parameter.
BookCriteria/Parameters/
ParameterType
1ParameterTypeSpecifies the type of the parameter (ParameterType), whether it is internal or supplier-related.
BookCriteria/Parameters/
Immutable
1BooleanIndicates 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/RoomId1IntegerAssociates the parameter with a specific room, identified by its ID.
Settings1BookSettingsThe settings for the hotel booking.
Settings/Supplier1StringIdentifies the supplier associated with the hotel operation. This is a unique code generated by Travelgate within its system to represent the supplier.
Settings/Platform1StringRepresents 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/Client1StringA 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/Access1AccessContains access information required for the operation, including API credentials, endpoints, and other connection details specific to the supplier's integration.
Settings/Access/Code1IntegerThe unique code identifying the access configuration.
Settings/Access/User0 . . 1StringThe username used for authentication with the supplier.
Settings/Access/Password0 . . 1StringThe password used for authentication with the supplier.
Settings/Access/ApiKey0 . . 1StringThe API key used for authentication or authorization.
Settings/Access/Urls1UrlsThe URLs associated with the access configuration.
Settings/Access/Urls/Book0 . . 1StringThe URL used for booking operations.
Settings/Access/Urls/Search0 . . 1StringThe URL used for Search operations.
Settings/Access/Urls/Quote0 . . 1StringThe URL used for Quote operations.
Settings/Access/Urls/Generic0 . . 1StringA generic URL for additional operations.
Settings/Access/Parameters0 . . 1AccessParametersAdditional parameters related to the connection.
Settings/BusinessRules0 . . 1BusinessRulesSpecifies 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 . . 1IntegerThe maximum number of options returned for each board in the Search query.
Settings/BusinessRules/
BusinessRuleType
1BusinessRulesTypeThe business rule type that determines how Search results are prioritized or filtered.
Settings/Timeout1StringDefines 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/TimeoutAsTimeSpan0 . . 1StringConverts the timeout value from the string representation (Timeout) into a TimeSpan for use in time-based operations.
Settings/
IncludeProviderTransactions
1BooleanIndicates 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/CommitRequired0 . . 1BooleanIndicates 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

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"
}
}
}
};

Details

NameRelationTypeDescription
AuditData1ProviderAuditContains 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/Request0 . . NArray<ProviderAuditRq>Collection of audit entries for provider requests.Each entry contains details about a specific request made to the provider.
AuditData/Request/SendAt1StringThe timestamp indicating when the request was sent. Date on UTC Standard (ISO 8601 UTC 2025-05-21T08:48:53.9744052+00:00)
AuditData/Request/Data1StringThe payload data included in the request.
AuditData/Request/Url1StringThe URL of the provider endpoint to which the request is sent.
AuditData/Request/Headers1ObjectA collection of headers included in the request.
AuditData/Request/HttpMethod1HttpMethodThe HTTP method used to send the request.
AuditData/Request/HttpMethod/
Method
1StringNo description available.
AuditData/Response0 . . NArray<ProviderAuditRs>Collection of audit entries for provider responses.Each entry contains details about a specific response received from the provider.
AuditData/Response/ReceivedAt1StringThe timestamp indicating when the response was received. Date on UTC Standard (ISO 8601 UTC 2025-05-21T08:48:53.9744052+00:00)
AuditData/Response/Data1StringThe payload data contained in the provider's response.
AuditData/Response/Headers1ObjectA collection of headers included in the provider's response.
AuditData/Response/StatusCode1IntegerThe HTTP status code returned by the provider.
AdviseMessages0 . .NArray<AdviseMessage>The collection of advise messages associated with the booking response.
AdviseMessages/Code1AdviseMessageCodeGets the code that represents the message type.
AdviseMessages/Level1AdviseMessageLevelGets the severity level of the message (e.g., Error, Warning, or Info).
AdviseMessages/Description1StringGets the message description providing additional context.
AdviseMessages/CorrelationId0 . . 1StringGets a unique identifier for correlating the message with specific operations.
AdviseMessages/External0 . . 1ExternalGets additional external details associated with the message.
AdviseMessages/External/Code0 . . 1StringThe supplier's internal code for identifying the nature of the response or error.
AdviseMessages/External/
Message
1StringA descriptive message returned by the supplier.
AdviseMessages/External/
HttpStatusCode
1IntegerThe HTTP status code of the supplier's response.
BookDetails1BookDetailsThe details of the booking.
BookDetails/Status1BookStatusThe current status of the booking.
BookDetails/Reference1ReferenceA collection of locators that identify the booking.
BookDetails/Reference/
ClientLocator
0 . . 1StringThe booking locator provided by the client.This is typically used to match the booking in the client's internal systems.
BookDetails/Reference/
SupplierLocator
1StringThe booking locator provided by the supplier.This identifier is used to reference the booking in the supplier's system.
BookDetails/Reference/
HotelLocator
0 . . 1StringThe 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/Holder0 . . 1HolderThe personal details of the booking holder.
BookDetails/Holder/Name1StringThe name of the holder.
BookDetails/Holder/SurName1StringThe surname of the holder.
BookDetails/Holder/
PersonalTitleType
1PersonalTitleTypeThe personal title type of the holder.
BookDetails/Holder/ContactInfo0 . . 1ContactInfoThe contact information of the holder.
BookDetails/Holder/ContactInfo/
Email
1StringThe email address of the passenger.
BookDetails/Holder/ContactInfo/
Phone
0 . . 1StringThe phone number of the passenger.
BookDetails/Hotel0 . . 1HotelDetailThe hotel details associated with the booking.
BookDetails/Hotel/BookingDate0 . . 1StringThe date when the booking was created.
BookDetails/Hotel/CheckIn0 . . 1StringThe check-in date for the booking.
BookDetails/Hotel/CheckOut0 . . 1StringThe check-out date for the booking.
BookDetails/Hotel/
CheckInAsDateTime
0 . . 1StringThe check-in date as a DateTime object.
BookDetails/Hotel/
CheckOutAsDateTime
0 . . 1StringThe check-out date as a DateTime object.
BookDetails/Hotel/HotelCode0 . . 1StringThe unique code identifying the hotel.
BookDetails/Hotel/HotelName0 . . 1StringThe name of the hotel associated with the booking.
BookDetails/Hotel/BoardCode0 . . 1StringThe board code for the booking.
BookDetails/Hotel/Occupancies0 . . NArray<BookOccupancy>The collection of occupancies associated with the booking.
BookDetails/Hotel/Occupancies/
OccupancyId
1IntegerThe unique identifier for the occupancy.
BookDetails/Hotel/Occupancies/
Paxes
1 . . NArray<BookPaxInput>The collection of passenger inputs (paxes) for the occupancy.
BookDetails/Hotel/Occupancies/
Paxes/Age
1IntegerThe age of the passenger.
BookDetails/Hotel/Occupancies/
Paxes/Name
1StringThe first name of the passenger.
BookDetails/Hotel/Occupancies/
Paxes/SurName
1StringThe surname (last name) of the passenger.
BookDetails/Hotel/Occupancies/
Paxes/PersonalTitleType
1PersonalTitleTypeThe personal title type of the passenger.
BookDetails/Hotel/Rooms0 . . NArray<Room>The collection of rooms included in the booking.
BookDetails/Hotel/Rooms/
OccupancyRefId
1IntegerNumeric ID linking this room to its occupancy data in the Occupancy.
BookDetails/Hotel/Rooms/Code1StringUnique code assigned to this room.
BookDetails/Hotel/Rooms/
Description
0 . . 1StringDescription of the room's features or characteristics.
BookDetails/Hotel/Rooms/
RoomPrice
1RoomPricePricing information for the room, including total price and currency details.
BookDetails/Hotel/Rooms/
RoomPrice/Price
1PriceThe total price of the room.
BookDetails/Hotel/Rooms/
RoomPrice/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookDetails/Hotel/Rooms/
RoomPrice/Price/Binding
1BooleanIndicates whether the price is binding.
BookDetails/Hotel/Rooms/
RoomPrice/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
BookDetails/Hotel/Rooms/
RoomPrice/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookDetails/Hotel/Rooms/
RoomPrice/Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookDetails/Hotel/Rooms/
RoomPrice/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown
0 . . NArray<PriceBreakdown>Breakdown of the room price over specific periods, such as daily rates.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price
1PriceThe price for each day of the room during the specified period.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price/
Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price/
Binding
1BooleanIndicates whether the price is binding.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price/
Net
1DoubleThe net price paid by the Buyer to the Seller.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price/
Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/Start
1IntegerThe starting day of the pricing period (inclusive).
BookDetails/Hotel/Rooms/
RoomPrice/PriceBreakdown/End
1IntegerThe ending day of the pricing period (inclusive).
BookDetails/Hotel/Rooms/
Refundable
1BooleanIndicates if the room is refundable based on the cancellation policy.
BookDetails/Hotel/Rooms/
RefundableSpecified
1BooleanIndicates whether the refundable status has been explicitly specified.
BookDetails/Hotel/Rooms/
LegacyRoomId
1StringLegacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code.
BookDetails/Hotel/Rooms/Units0 . . 1IntegerNumber of units available for this room type.
BookDetails/Hotel/Rooms/
RatePlan
0 . . 1RatePlanRate plan associated with this room.
BookDetails/Hotel/Rooms/
RatePlan/Code
1StringThe unique code for the rate plan.
BookDetails/Hotel/Rooms/
RatePlan/Name
0 . . 1StringThe name of the rate plan.
BookDetails/Hotel/Rooms/
Promotions
0 . . NArray<Promotion>Promotions or discounts applicable to this room.
BookDetails/Hotel/Rooms/
Promotions/Code
1StringThe unique code identifying the promotion.
BookDetails/Hotel/Rooms/
Promotions/Name
0 . . 1StringThe name of the promotion.
BookDetails/Hotel/Rooms/
Remarks
0 . . NArray<Remark>Additional remarks or notes about this room.
BookDetails/Hotel/Rooms/
Remarks/RemarkType
1RemarkTypeThe 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
1StringThe 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 . . NArray<Surcharge>Additional surcharges applied to this room.
BookDetails/Hotel/Rooms/
Surcharges/ChargeType
1ChargeTypeSpecifies 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
1BooleanIndicates 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
1StringProvides 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
1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
BookDetails/Hotel/Rooms/
Surcharges/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookDetails/Hotel/Rooms/
Surcharges/Price/Binding
1BooleanIndicates whether the price is binding.
BookDetails/Hotel/Rooms/
Surcharges/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
BookDetails/Hotel/Rooms/
Surcharges/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookDetails/Hotel/Rooms/
Surcharges/Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
BookDetails/Hotel/Rooms/
Surcharges/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
BookDetails/Hotel/Rooms/
Surcharges/Code
0 . . 1StringAn 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 . . 1CancelPolicyCancellation policy specific to this room.
BookDetails/Hotel/Rooms/
CancelPolicy/Refundable
1BooleanIndicates whether the booking is refundable.
BookDetails/Hotel/Rooms/
CancelPolicy/CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
BookDetails/Hotel/Rooms/
CancelPolicy/CancelPenalties/
HoursBefore
0 . . 1Integer[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
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
BookDetails/Hotel/Rooms/
CancelPolicy/CancelPenalties/
Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
BookDetails/Hotel/Rooms/
CancelPolicy/CancelPenalties/
Value
1DoubleIndicates the value of the penalty.
BookDetails/Hotel/Rooms/
CancelPolicy/CancelPenalties/
Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
BookDetails/Hotel/Rooms/
CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
BookDetails/Hotel/Rooms/Beds0 . . NArray<Bed>List of beds available in the room, including types and configurations.
BookDetails/Hotel/Rooms/Beds/
Type
0 . . 1StringThe type of the bed.
BookDetails/Hotel/Rooms/Beds/
Description
0 . . 1StringA description of the bed.
BookDetails/Hotel/Rooms/Beds/
Count
0 . . 1IntegerThe number of beds of this type in the room.
BookDetails/Hotel/Rooms/Beds/
Shared
0 . . 1BooleanIndicates whether the bed is shared.
BookDetails/Hotel/Rooms/
Amenities
0 . . NArray<Amenity>Amenities included with this room, such as Wi-Fi or parking.
BookDetails/Hotel/Rooms/
Amenities/Code
1StringA unique code that identifies the amenity.
BookDetails/Hotel/Rooms/
Amenities/Type
1AmenityTypeThe type of the amenity, defined by AmenityType.
BookDetails/Hotel/Rooms/
Amenities/Value
1StringThe value associated with the amenity.
BookDetails/Hotel/Rooms/
Amenities/Texts
0 . . 1StringAdditional textual information or description for the amenity.
BookDetails/Hotel/Rooms/
UnitsSpecified
1BooleanIndicates whether the number of units has been explicitly specified.
BookDetails/Hotel/Rooms/
Features
0 . . NArray<Feature>Features or custom attributes of the room, used for specific integrations.
BookDetails/Hotel/Rooms/
Features/Code
1StringThe unique code identifying the feature of the room.
BookDetails/Price1PriceThe total price of the booking.
BookDetails/Price/Currency1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
BookDetails/Price/Binding1BooleanIndicates whether the price is binding.
BookDetails/Price/Net1DoubleThe net price paid by the Buyer to the Seller.
BookDetails/Price/Gross1DoubleThe gross price, which includes the net price and the Buyer's commission.
BookDetails/Price/NetSpecified1BooleanIndicates whether the net price is explicitly specified.
BookDetails/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
BookDetails/CancelPolicy0 . . 1CancelPolicyThe cancellation policy associated with the booking.
BookDetails/CancelPolicy/
Refundable
1BooleanIndicates whether the booking is refundable.
BookDetails/CancelPolicy/
CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
BookDetails/CancelPolicy/
CancelPenalties/HoursBefore
1Integer[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
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
BookDetails/CancelPolicy/
CancelPenalties/Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
BookDetails/CancelPolicy/
CancelPenalties/Value
1DoubleIndicates the value of the penalty.
BookDetails/CancelPolicy/
CancelPenalties/Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
BookDetails/CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
BookDetails/Remarks0 . . NArray<Remark>Additional remarks or notes related to the booking.
BookDetails/Remarks/RemarkType1RemarkTypeThe 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/Text1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
BookDetails/
BillingSupplierCode
0 . . 1StringThe code of the agency responsible for the booking.
BookDetails/Payable0 . . 1StringInformation about the entity responsible for payment of the booking.
BookDetails/AddOns0 . . 1ObjectAdditional metadata provided by the supplier for internal use.
AddOns0 . . 1ObjectA dictionary containing supplier information for the option.