Skip to main content

Search

Overview

The Search operation is the entry point in the booking workflow, enabling clients to retrieve available options based on their specific requirements. It allows buyers to query for availability, pricing, and other relevant details about accommodations offered by the supplier.

The Search operation is used to:

  • Fetch available options that match specific criteria provided by the client.
  • Provide detailed information about available rooms, prices, and policies.
  • Act as a foundation for subsequent operations like Quote and Book.

Cancellation policies in the availability (Search) step are important because they allow buyers to know—right from the start—whether an option is refundable and under what conditions.

However, not all suppliers are required to provide cancellation policy details during the Search response. Some suppliers only include this information in the Quote step.

note

The cancellation policies shown in Search may differ from those shown in Quote. This can happen because some suppliers do not return cancellation policies during the search phase, or because conditions may change between the two calls. The valid and final cancellation policy will always be the one received in the Quote response. This behavior is expected and should be taken into account.

In such cases, the refundable field may appear as null in the Search response, indicating that the supplier will only provide cancellation information during the Quote phase.

To avoid confusion or incorrect assumptions, it is essential to check the supplier's metadata to understand what level of cancellation detail is provided at each stage of the booking flow.

tip

If refundable is null in the Search response, make sure to handle cancellation logic in the Quote step, where detailed policy data is guaranteed.

For a complete reference on how cancellation policies should be handled in the Quote phase, see:

Request

The Request is structured to accommodate various parameters that clients can specify to refine their Search.

Overview

Clients can define their Search criteria to narrow down the available options. Common Search parameters include:

  • Hotel Codes: Specific properties to search within.
  • Occupations: Number of guests, their ages, and nationalities.
  • Markets: Specific geographic or demographic markets targeted by the client.
  • Check-in and Check-out Dates: The desired date range for the stay.

Sample

var request = new SearchRequest
{
SearchCriteria = new SearchCriteria
{
Destinations = new Destinations
{
Accommodations = new List<Accommodation>
{
new Accommodation { Type = "Hotel", Code = "PAR001" }
}
},
Occupancies = new List<Occupancy>
{
new Occupancy
{
OccupancyId = 1,
Paxes = new List<Pax>
{
new Pax { Age = 35 }
}
}
},
Markets = new List<string> { "EU" },
CheckIn = "2025-06-10",
CheckOut = "2025-06-15",
CheckInAsDateTime = DateTime.Parse("2025-06-10", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal),
CheckOutAsDateTime = DateTime.Parse("2025-06-15", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal),
TotalNights = 5,
Language = "EN",
Currency = "EUR",
Nationality = "FR"
},
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>
{
{ "maxResults", "50" },
{ "cacheEnabled", "true" },
{ "requestTimeout", "5000" },
{ "preferredSupplier", "SupplierX" }
}
},
BusinessRules = new BusinessRules
{
OptionsQuota = 10,
BusinessRuleType = "CheaperAmount"
},
Timeout = "00:00:10",
TimeoutAsTimeSpan = TimeSpan.Parse("00:00:10"),
IncludeProviderTransactions = true
},
Filters = new Filters
{
Status = new StatusFilter
{
Includes = new List<string> { "OK" },
Excludes = new List<string> { "RQ" }
},
RateRuleFilter = new RateRuleFilter
{
Includes = new List<string> { "Older60" },
Excludes = new List<string> { "Older55" },
IncludeEmptyRateRulesOptions = false
}
}
};

Details

The object SearchRq represents the structure of the Search request as expected by the supplier.

NameRelationTypeDescription
SearchCriteria1SearchCriteriaGets the Search criteria for the hotel Search.
SearchCriteria/CheckIn1StringThe check-in date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD).
SearchCriteria/CheckOut1StringThe check-out date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD).
SearchCriteria/
CheckInAsDateTime
0 . . 1StringThe check-in date parsed as a DateTime object, expressed in UTC 0
SearchCriteria/
CheckOutAsDateTime
0 . . 1StringThe check-out date parsed as a DateTime object, expressed in UTC 0
SearchCriteria/TotalNights0 . . 1IntegerThe total number of nights for the stay, calculated as the difference between check-in and check-out dates.
SearchCriteria/Language1StringThe language code for the operation, represented as a 2-character ISO 639-1 code (e.g., "en", "es").
SearchCriteria/Currency0 . . 1CurrencyThe preferred currency for the operation, defined as an optional Currency value.
SearchCriteria/Nationality0 . . 1StringThe nationality code of the client, represented as a 2-character ISO 3166-1 alpha-2 country code (e.g., "US", "FR").
SearchCriteria/Destinations1DestinationsGets the destinations for the search. These can be specific hotels or locations.
SearchCriteria/Destinations/
Accommodations
0 . . NArray<AccommodationRQ>Collection of accommodations for the Search request.
SearchCriteria/Destinations/
Accommodations/Type
1AccommodationTypeSpecifies the type of accommodation being requested, such as Hotel or Rental.
SearchCriteria/Destinations/
Accommodations/Code
1StringRepresents a unique code identifying the accommodation in the request.
SearchCriteria/Destinations/
Locations
0 . . NArray<Location>Collection of locations for the Search request.
SearchCriteria/Destinations/
Locations/Code
1StringThe unique code identifying the location.
SearchCriteria/Destinations/
Locations/Country
0 . . 1StringThe ISO 3166-1 alpha-2 country code where the location is situated.
SearchCriteria/Destinations/
Locations/Longitude
0 . . 1DoubleThe longitude coordinate of the location, expressed in decimal degrees.
SearchCriteria/Destinations/
Locations/Latitude
0 . . 1DoubleThe latitude coordinate of the location, expressed in decimal degrees.
SearchCriteria/Occupancies1 . . NArray<Occupancy>Gets the occupancy details for the Search.Indicates the number of rooms, passengers, and their respective ages.
SearchCriteria/Occupancies/
OccupancyId
1IntegerThe unique identifier for the occupancy.
SearchCriteria/Occupancies/
Paxes
1 . . NArray<PaxInput>The collection of passenger inputs (paxes) for the occupancy.
SearchCriteria/Occupancies/
Paxes/Age
1IntegerAge of the passenger. This value is required and plays a critical role in determining eligibility for child or adult pricing as defined by the supplier.
SearchCriteria/Markets0 . . NArrayGets the markets associated with the Search.Represents ISO 3166-1 alpha-2 country codes.
Settings1SearchSettingsGets the Search settings for the hotel Search.
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/Client1StringRepresents the client performing the hotel operation.This is a unique client code assigned by Travelgate to identify the client within its system.
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
0 . . 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 TimeSpan 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).
Filters1FiltersGets the filters to be applied to the hotel Search results.
Filters/Status0 . . 1StatusFilterFilter for hotel statuses to include or exclude specific booking statuses in the Search results.
Filters/Status/Includes0 . . NArray<Status>The statuses to include in the response.
Filters/Status/Excludes0 . . NArray<Status>The statuses to exclude from the response.
Filters/RateRuleFilter0 . . 1RateRuleFilterFilter for rate rules to include or exclude specific rate restrictions in the Search results.
Filters/RateRuleFilter/
Excludes
0 . . NArray<RateRule>The collection of rate rules that should be excluded from the Search results.
Filters/RateRuleFilter/
Includes
0 . . NArray<RateRule>The collection of rate rules that should be included in the Search results.
Filters/RateRuleFilter/
IncludeEmptyRateRulesOptions
0 . . 1BooleanSpecifies whether options without rate rules should be included in the results when Includes is null.

Response

The Response is structured to provide detailed information about the available options that match the Search criteria.

Overview

The Search operation returns a list of available options matching the criteria. Each option includes:

  • Price Details: Comprehensive breakdowns of pricing, including base prices, taxes, and fees.
  • Room Information: Descriptions of the rooms, including amenities, room types, and occupancy limits.
  • Cancellation Policies: Policies related to cancellations, including deadlines and penalties.
  • Remarks: Supplier-specific notes or disclaimers.
  • Rate Rules: Conditions and restrictions associated with specific rates, such as minimum stay requirements.

Sample

var searchResponse = new SearchRs
{
AdviseMessages = new List<AdviseMessage>
{
new AdviseMessage
{
Code = "SupplierNoResultsFound",
Level = "Warning",
Description = "No results found for the selected supplier.",
CorrelationId = Guid.Parse("b9d1ab45-f18d-4d88-b7bd-185a40498a1b"),
External = new External
{
Code = "SUPPLIER_NOT_FOUND",
Message = "The requested supplier could not be found.",
HttpStatusCode = 404
}
}
},
Accommodations = new List<Accommodation>
{
new Accommodation
{
Boards = new List<Board>
{
new Board
{
BoardCode = "BB",
Name = "Bed & Breakfast",
Options = new List<Option>
{
new Option
{
FormId = "BB12345",
Status = "OK",
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 120m, // 'm' suffix for decimal literal
Gross = 130m,
NetSpecified = true,
MinimumSellingPrice = 125m
},
PaymentTypes = new List<string>
{
"CardBookingPay"
},
Rooms = new List<Room>
{
new Room
{
OccupancyRefId = 1,
Code = "DBL",
Description = "Double Room with Sea View",
RoomPrice = new RoomPrice
{
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 120m,
Gross = 130m,
NetSpecified = true,
MinimumSellingPrice = 125m
},
PriceBreakdown = new List<PriceBreakdown>
{
new PriceBreakdown
{
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 60m,
Gross = 65m,
NetSpecified = true,
MinimumSellingPrice = 62.5m
},
Start = 0,
End = 1
}
}
},
Refundable = true,
RefundableSpecified = true,
LegacyRoomId = "DBL_SEA_01",
Units = 5,
RatePlan = new RatePlan
{
Code = "STANDARD",
Name = "Standard Rate"
},
Promotions = new List<Promotion>
{
new Promotion
{
Code = "EARLYBIRD",
Name = "Early Bird Discount"
}
},
Remarks = new List<Remark>
{
new Remark
{
RemarkType = "Room",
Text = "Non-smoking room with complimentary Wi-Fi."
}
},
Surcharges = new List<Surcharge>
{
new Surcharge
{
ChargeType = "Excluded",
Mandatory = true,
Description = "City Tax per person per night",
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 5m,
Gross = 5m,
NetSpecified = true,
MinimumSellingPrice = 5m
},
Code = "CITY_TAX"
}
},
CancelPolicy = new CancelPolicy
{
Refundable = false,
CancelPenalties = new List<CancelPenalty>
{
new CancelPenalty
{
HoursBefore = 48,
PenaltyType = "Percentage",
Currency = "EUR",
Value = 50m,
Deadline = DateTime.Parse("2025-05-30T23:59:59Z")
}
},
CancelPolicyDescription = "50% charge if canceled within 48 hours before check-in."
},
Beds = new List<Bed>
{
new Bed
{
Type = "Queen",
Description = "1 Queen-size Bed",
Count = 1,
Shared = false
}
},
Amenities = new List<Amenity>
{
new Amenity
{
Code = "WIFI",
Type = "Room",
Value = "Free Wi-Fi",
Texts = "High-speed internet available in the room."
}
},
UnitsSpecified = true,
Features = new List<Feature>
{
new Feature
{
Code = "BALCONY",
Name = "Private Balcony"
}
}
}
},
Parameters = new List<Parameter>
{
new Parameter
{
Key = 101,
Value = "HotelSupplierX",
ParameterType = "Supplier",
Immutable = false,
RoomId = 1
}
},
OptionCancelPolicy = new CancelPolicy // Using OptionCancelPolicy as defined in classes
{
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 = 50m,
Deadline = DateTime.Parse("2025-05-30T23:59:59Z")
}
},
CancelPolicyDescription = "50% charge if canceled within 48 hours before check-in."
},
Promotions = new List<Promotion>
{
new Promotion
{
Code = "LASTMINUTE",
Name = "Last Minute Offer"
}
},
RateRules = new List<RateRule>
{
new RateRule
{
RateRuleType = "Honeymoon",
Code = "HONEYMOON",
Name = "Honeymoon Special",
Restrictions = new List<Restriction>
{
new Restriction
{
Code = "MARRIAGE_CERT",
Name = "Marriage Certificate Required",
RestrictionType = "Document"
}
}
}
},
Remarks = new List<Remark>
{
new Remark
{
RemarkType = "General",
Text = "Check-in from 3 PM, check-out by 11 AM."
}
},
Surcharges = new List<Surcharge>
{
new Surcharge
{
ChargeType = "Excluded",
Mandatory = true,
Description = "Resort Fee",
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 10m,
Gross = 10m,
NetSpecified = true,
MinimumSellingPrice = 10m
},
Code = "RESORT_FEE"
}
},
Amenities = new List<Amenity>
{
new Amenity
{
Code = "POOL",
Type = "General",
Value = "Outdoor Pool",
Texts = "Heated swimming pool available from 8 AM to 8 PM."
}
},
Supplements = new List<Supplement>
{
new Supplement
{
Code = "SPABUNDLE",
Name = "Spa Package",
Mandatory = false,
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 50m,
Gross = 55m,
NetSpecified = true,
MinimumSellingPrice = 50m
},
SupplementType = "Other",
ChargeType = "Excluded",
DurationType = "Session",
Quantity = 1,
Resort = new Resort
{
Code = "SPA123",
Name = "Luxury Spa Center"
},
Unit = "Hours"
}
},
AddOns = new Dictionary<string, string>
{
{ "LATE_CHECKOUT", "Late Checkout Available Until 2 PM" }
}
}
}
}
},
Location = new Location
{
Code = "PAR",
Country = "France",
Longitude = 2.3522,
Latitude = 48.8566
},
AccommodationType = "Hotel",
AccommodationCode = "HOTEL_PARIS_001",
AccommodationName = "Hotel Le Parisien"
}
},
DiscardedItems = 0
};

Details

The SearchRs object represents the standardized structure of the response returned by the supplier.

NameRelationTypeDescription
AuditData0 . . 1ProviderAuditContains 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>Collection of advice messages, which may include errors or warnings generated during the Search process.
AdviseMessages/Code1AdviseMessageCodeGets the code that represents the message type.
AdviseMessages/Level1AdviseMessageLevelGets the severity level of the message (e.g., Error, Warning, or Info).
AdviseMessages/Description0 . . 1StringGets 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.
Accommodations0 . . NArrayList of accommodations, boards, and options returned by the Search.These represent the available (hotels-boards-options) that meet the client's criteria.
Accommodations/
AccommodationType
1AccommodationTypeGets or initializes the type of accommodation.
Accommodations/
AccommodationCode
1StringGets the unique code identifying the accommodation.
Accommodations/
AccommodationName
0 . . 1StringGets or initializes the name of the accommodation.
Accommodations/Boards1 . . NArray<Board>Gets the list of boards available for the hotel.
Accommodations/Boards/
BoardCode
1StringThe unique code identifying the board.
Accommodations/Boards/Name0 . . 1StringThe name of the board.
Accommodations/Boards/Options1 . . NArray<Option>The collection of options associated with this board.
Accommodations/Boards/Options/
FormId
0 . . 1StringInternal field for FormTest. Not serialized. DO NOT USE!
Accommodations/Boards/Options/
Status
1StatusIndicates the availability status of the option.
Accommodations/Boards/Options/
Price
1PriceThe price details associated with the option, including net, gross and minimum selling price.
Accommodations/Boards/Options/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Accommodations/Boards/Options/
Price/Binding
1BooleanIndicates whether the price is binding.
Accommodations/Boards/Options/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Accommodations/Boards/Options/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Accommodations/Boards/Options/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Accommodations/Boards/Options/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
Accommodations/Boards/Options/
PaymentTypes
1 . . NArray<PaymentType>Specifies the accepted payment types for the option.
Accommodations/Boards/Options/
Rooms
1 . . NArray<Room>The list of rooms included with the option, including type, description, and price.
Accommodations/Boards/Options/
Rooms/OccupancyRefId
1IntegerNumeric ID linking this room to its occupancy data in the Occupancy.
Accommodations/Boards/Options/
Rooms/Code
1StringUnique code assigned to this room.
Accommodations/Boards/Options/
Rooms/Description
0 . . 1StringDescription of the room's features or characteristics.
Accommodations/Boards/Options/
Rooms/RoomPrice
1RoomPricePricing information for the room, including total price and currency details.
Accommodations/Boards/Options/
Rooms/RoomPrice/Price
1PriceThe total price of the room.
Accommodations/Boards/Options/
Rooms/RoomPrice/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Accommodations/Boards/Options/
Rooms/RoomPrice/Price/Binding
1BooleanIndicates whether the price is binding.
Accommodations/Boards/Options/
Rooms/RoomPrice/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Accommodations/Boards/Options/
Rooms/RoomPrice/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Accommodations/Boards/Options/
Rooms/RoomPrice/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Accommodations/Boards/Options/
Rooms/RoomPrice/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown
0 . . NArray<PriceBreakdown>Breakdown of the room price over specific periods, such as daily rates.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price
1PriceThe price for each day of the room during the specified period.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price/Binding
1BooleanIndicates whether the price is binding.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
Start
1IntegerThe starting day of the pricing period (inclusive).
Accommodations/Boards/Options/
Rooms/RoomPrice/PriceBreakdown/
End
1IntegerThe ending day of the pricing period (inclusive).
Accommodations/Boards/Options/
Rooms/Refundable
1BooleanIndicates if the room is refundable based on the cancellation policy.
Accommodations/Boards/Options/
Rooms/RefundableSpecified
1BooleanIndicates whether the refundable status has been explicitly specified.
Accommodations/Boards/Options/
Rooms/LegacyRoomId
1StringLegacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code.
Accommodations/Boards/Options/
Rooms/Units
0 . . 1IntegerNumber of units available for this room type.
Accommodations/Boards/Options/
Rooms/RatePlan
0 . . 1RatePlanRate plan associated with this room.
Accommodations/Boards/Options/
Rooms/RatePlan/Code
1StringThe unique code for the rate plan.
Accommodations/Boards/Options/
Rooms/RatePlan/Name
0 . . 1StringThe name of the rate plan.
Accommodations/Boards/Options/
Rooms/Promotions
0 . . NArray<Promotion>Promotions or discounts applicable to this room.
Accommodations/Boards/Options/
Rooms/Promotions/Code
1StringThe unique code identifying the promotion.
Accommodations/Boards/Options/
Rooms/Promotions/Name
0 . . 1StringThe name of the promotion.
Accommodations/Boards/Options/
Rooms/Remarks
0 . . NArray<Remark>Additional remarks or notes about this room.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
Rooms/Remarks/Text
1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
Accommodations/Boards/Options/
Rooms/Surcharges
0 . . NArray<Surcharge>Additional surcharges applied to this room.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
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".
Accommodations/Boards/Options/
Rooms/Surcharges/Price
1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
Accommodations/Boards/Options/
Rooms/Surcharges/Price/
Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Accommodations/Boards/Options/
Rooms/Surcharges/Price/Binding
1BooleanIndicates whether the price is binding.
Accommodations/Boards/Options/
Rooms/Surcharges/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Accommodations/Boards/Options/
Rooms/Surcharges/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Accommodations/Boards/Options/
Rooms/Surcharges/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Accommodations/Boards/Options/
Rooms/Surcharges/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
Rooms/CancelPolicy
0 . . 1CancelPolicyCancellation policy specific to this room.
Accommodations/Boards/Options/
Rooms/CancelPolicy/Refundable
1BooleanIndicates whether the booking is refundable.
Accommodations/Boards/Options/
Rooms/CancelPolicy/
CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
Rooms/CancelPolicy/
CancelPenalties/PenaltyType
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
Accommodations/Boards/Options/
Rooms/CancelPolicy/
CancelPenalties/Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
Accommodations/Boards/Options/
Rooms/CancelPolicy/
CancelPenalties/Value
1DoubleIndicates the value of the penalty.
Accommodations/Boards/Options/
Rooms/CancelPolicy/
CancelPenalties/Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
Accommodations/Boards/Options/
Rooms/CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
Accommodations/Boards/Options/
Rooms/Beds
0 . . NArray<Bed>List of beds available in the room, including types and configurations.
Accommodations/Boards/Options/
Rooms/Beds/Type
0 . . 1StringThe type of the bed.
Accommodations/Boards/Options/
Rooms/Beds/Description
0 . . 1StringA description of the bed.
Accommodations/Boards/Options/
Rooms/Beds/Count
0 . . 1IntegerThe number of beds of this type in the room.
Accommodations/Boards/Options/
Rooms/Beds/Shared
0 . . 1BooleanIndicates whether the bed is shared.
Accommodations/Boards/Options/
Rooms/Amenities
0 . . NArray<Amenity>Amenities included with this room, such as Wi-Fi or parking.
Accommodations/Boards/Options/
Rooms/Amenities/Code
1StringA unique code that identifies the amenity.
Accommodations/Boards/Options/
Rooms/Amenities/Type
1AmenityTypeThe type of the amenity, defined by AmenityType.
Accommodations/Boards/Options/
Rooms/Amenities/Value
1StringThe value associated with the amenity.
Accommodations/Boards/Options/
Rooms/Amenities/Texts
0 . . 1StringAdditional textual information or description for the amenity.
Accommodations/Boards/Options/
Rooms/UnitsSpecified
1BooleanIndicates whether the number of units has been explicitly specified.
Accommodations/Boards/Options/
Rooms/Features
0 . . NArray<Feature>Features or custom attributes of the room, used for specific integrations.
Accommodations/Boards/Options/
Rooms/Features/Code
1StringThe unique code identifying the feature of the room.
Accommodations/Boards/Options/
Parameters
0 . . NArray<Parameter>Parameters for transferring data between operations, such as from Search to Quote or Quote to Book.
Accommodations/Boards/Options/
Parameters/Key
1IntegerIdentifies the parameter with a numeric key.
Accommodations/Boards/Options/
Parameters/Value
1StringDefines the value associated with the parameter.
Accommodations/Boards/Options/
Parameters/ParameterType
1ParameterTypeSpecifies the type of the parameter (ParameterType), whether it is internal or supplier-related.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
Parameters/RoomId
1IntegerAssociates the parameter with a specific room, identified by its ID.
Accommodations/Boards/Options/
CancelPolicy
0 . . 1OptionCancelPolicyThe cancellation policy associated with the option, detailing penalties and conditions.
Accommodations/Boards/Options/
CancelPolicy/Refundable
1BooleanIndicates whether the booking is refundable.
Accommodations/Boards/Options/
CancelPolicy/CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
CancelPolicy/CancelPenalties/
PenaltyType
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
Accommodations/Boards/Options/
CancelPolicy/CancelPenalties/
Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
Accommodations/Boards/Options/
CancelPolicy/CancelPenalties/
Value
1DoubleIndicates the value of the penalty.
Accommodations/Boards/Options/
CancelPolicy/CancelPenalties/
Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
Accommodations/Boards/Options/
CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
Accommodations/Boards/Options/
CancelPolicy/
RoomCancelPolicyDescriptions
0 . . NArray<RoomCancelPolicyDescriptions>Gets or sets the list of room-specific cancellation policy descriptions.
Accommodations/Boards/Options/
CancelPolicy/
RoomCancelPolicyDescriptions
OccupancyRefId
1IntegerIdentifies the specific occupancy within the booking for which this cancellation policy applies.
Accommodations/Boards/Options/
CancelPolicy/
RoomCancelPolicyDescriptions
Description
1StringTextual information detailing the cancellation policy applicable to the room associated with the OccupancyRefId.
Accommodations/Boards/Options/
Promotions
0 . . NArray<Promotion>The promotions applied to the option, such as discounts or special offers.
Accommodations/Boards/Options/
Promotions/Code
1StringThe unique code identifying the promotion.
Accommodations/Boards/Options/
Promotions/Name
0 . . 1StringThe name of the promotion.
Accommodations/Boards/Options/
RateRules
0 . . NArray<RateRule2>The rate rules for the option, specifying sales restrictions such as "Senior Discount" or "Resident Rate."
Accommodations/Boards/Options/
RateRules/RateRuleType
1RateRuleSelling restrictions applied to the room. These define specific conditions or eligibility requirements that must be met to sell the room. Possible restrictions include:
Accommodations/Boards/Options/
RateRules/Code
0 . . 1StringRepresents a unique identifier for the rate rule, typically defined by the supplier.This code is used to reference and distinguish the rule from others.
Accommodations/Boards/Options/
RateRules/Name
0 . . 1StringProvides a human-readable name or label for the rate rule.This name is typically used in user interfaces or reports to describe the rule.
Accommodations/Boards/Options/
RateRules/Restrictions
0 . . NArray<Restriction>Defines a collection of additional restrictions that further specify the conditions of the rate rule.Restrictions can include age limits, regional requirements, or special eligibility conditions.
Accommodations/Boards/Options/
RateRules/Restrictions/Code
1StringA unique identifier for the restriction.
Accommodations/Boards/Options/
RateRules/Restrictions/Name
0 . . 1StringA descriptive name for the restriction.
Accommodations/Boards/Options/
RateRules/Restrictions/
RestrictionType
1RestrictionTypeThe type of the restriction, categorizing its purpose or application.
Accommodations/Boards/Options/
Remarks
0 . . NArray<Remark>Additional remarks associated with the option, such as special conditions or information.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
Remarks/Text
1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
Accommodations/Boards/Options/
Surcharges
0 . . NArray<Surcharge>Surcharges applied to the option, such as mandatory fees or taxes.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
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".
Accommodations/Boards/Options/
Surcharges/Price
1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
Accommodations/Boards/Options/
Surcharges/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Accommodations/Boards/Options/
Surcharges/Price/Binding
1BooleanIndicates whether the price is binding.
Accommodations/Boards/Options/
Surcharges/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Accommodations/Boards/Options/
Surcharges/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Accommodations/Boards/Options/
Surcharges/Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Accommodations/Boards/Options/
Surcharges/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Accommodations/Boards/Options/
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.
Accommodations/Boards/Options/
Amenities
0 . . NArray<Amenity>Amenities included with the option, such as "Free Wi-Fi" or "Parking."
Accommodations/Boards/Options/
Amenities/Code
1StringA unique code that identifies the amenity.
Accommodations/Boards/Options/
Amenities/Type
1AmenityTypeThe type of the amenity, defined by AmenityType.
Accommodations/Boards/Options/
Amenities/Value
1StringThe value associated with the amenity.
Accommodations/Boards/Options/
Amenities/Texts
0 . . 1StringAdditional textual information or description for the amenity.
Accommodations/Boards/Options/
Supplements
0 . . NArray<Supplement>Supplements available with the option, such as activity passes.
Accommodations/Boards/Options/
Supplements/Code
1StringThe unique code identifying the supplement.
Accommodations/Boards/Options/
Supplements/Name
1StringThe descriptive name of the supplement.
Accommodations/Boards/Options/
Supplements/Description
1StringAn optional textual description providing additional details about the supplement.
Accommodations/Boards/Options/
Supplements/Mandatory
1BooleanIndicates whether the supplement is mandatory for the booking.
Accommodations/Boards/Options/
Supplements/Price
1PriceThe Price associated with the supplement, including details such as currency and net price.
Accommodations/Boards/Options/
Supplements/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Accommodations/Boards/Options/
Supplements/Price/Binding
1BooleanIndicates whether the price is binding.
Accommodations/Boards/Options/
Supplements/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Accommodations/Boards/Options/
Supplements/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Accommodations/Boards/Options/
Supplements/Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Accommodations/Boards/Options/
Supplements/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Accommodations/Boards/Options/
Supplements/SupplementType
1SupplementTypeThe specific SupplementType of the supplement (e.g., board, additional service).
Accommodations/Boards/Options/
Supplements/ChargeType
1ChargeTypeDefines how the supplement is charged using ChargeType (e.g., per person, per stay).
Accommodations/Boards/Options/
Supplements/DurationType
1DurationTypeSpecifies whether the supplement applies to a specific duration (Open or Range).
Accommodations/Boards/Options/
Supplements/Quantity
1IntegerThe quantity of the supplement included in the booking.
Accommodations/Boards/Options/
Supplements/StartDate
1StringThe start date for the supplement (if applicable).
Accommodations/Boards/Options/
Supplements/
StartDateAsDateTime
0 . . 1StringThe start date as a DateTime object for easier manipulation.
Accommodations/Boards/Options/
Supplements/EndDate
1StringThe end date for the supplement (if applicable).
Accommodations/Boards/Options/
Supplements/EndDateAsDateTime
0 . . 1StringThe end date as a DateTime object for easier manipulation.
Accommodations/Boards/Options/
Supplements/Resort
1ResortThe associated Resort where the supplement applies.
Accommodations/Boards/Options/
Supplements/Resort/Code
1StringUnique code that identifies the resort in the system.
Accommodations/Boards/Options/
Supplements/Resort/Name
1StringName of the resort.
Accommodations/Boards/Options/
Supplements/Resort/Description
0 . . 1StringOptional description providing additional details about the resort.
Accommodations/Boards/Options/
Supplements/Unit
1UnitTimeTypeSpecifies the unit of time for the supplement (e.g., per day, per stay) using UnitTimeType.
Accommodations/Boards/Options/
AddOns
0 . . 1ObjectInternal field for passing additional information across layers.
Accommodations/Location0 . . 1LocationGets the geographical location of the hotel.
Accommodations/Location/Code1StringThe unique code identifying the location.
Accommodations/Location/
Country
0 . . 1StringThe ISO 3166-1 alpha-2 country code where the location is situated.
Accommodations/Location/
Longitude
0 . . 1DoubleThe longitude coordinate of the location, expressed in decimal degrees.
Accommodations/Location/
Latitude
0 . . 1DoubleThe latitude coordinate of the location, expressed in decimal degrees.
GlobalOptionParameters1 . . NArray<Parameter>Global parameters that the client must send in subsequent operations (e.g., in a Quote request). These parameters apply to all options returned in the response.
GlobalOptionParameters/Key1IntegerIdentifies the parameter with a numeric key.
GlobalOptionParameters/Value1StringDefines the value associated with the parameter.
GlobalOptionParameters/
ParameterType
1ParameterTypeSpecifies the type of the parameter (ParameterType), whether it is internal or supplier-related.
GlobalOptionParameters/
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.
GlobalOptionParameters/RoomId1IntegerAssociates the parameter with a specific room, identified by its ID.
DiscardedItems0 . . 1IntegerDiscarded items in the Search response, can be rooms or options depending on the connector.