Skip to main content

Quote

Overview​

The Quote operation is a crucial step in the booking workflow, used to confirm the details of an option previously retrieved in a Search. Since suppliers often rely on cached data or dynamic pricing, the Quote operation ensures that the selected option's price and policies are up-to-date before proceeding to a booking.

The Quote operation serves several purposes:

  • Price Validation: Confirms the price of the selected option to account for potential changes since the Search response.
  • Policy Confirmation: Validates the cancellation policies, payment terms, and other conditions tied to the selected option.
  • Data Reliability: Ensures that all data is accurate and aligned with the supplier’s current availability before proceeding to the Book operation.
note

Always prioritize data from Quote over Search, as Quote reflects the most accurate and reliable information.

When to use Quote:

  • Dynamic Pricing: For suppliers that update prices frequently, this step confirms current rates.
  • Session-Based Suppliers: For suppliers with expiring sessions or tokens, Quote helps ensure that the data remains valid.
  • Buyer Confidence: Provides clients with an additional layer of assurance about the selected option’s details.

Common Scenarios:

  • Price Changes: If the supplier's price differs from the Search response, the Quote operation will provide the updated price.
  • Option No Longer Available: If the selected option is no longer valid, the response may include an ItemNotAvailable error code.

Cancel Policies in Quote​

Cancellation policies provided during the Quote step are critical for Travelgate, as they offer clear and up-to-date information about cancellation terms, deadlines, and penalties. This transparency empowers buyers to make informed decisions and helps prevent misunderstandings or unexpected charges.

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.

The Quote response includes key fields such as:

  • Whether the option is refundable or not.
  • A detailed list of penalties associated with cancellation.
  • The exact cancellation deadline, always expressed in UTC (Coordinated Universal Time).

By delivering this data in a consistent and precise format, Travelgate ensures that all parties involved—buyers, sellers, and final customers—have a shared understanding of the financial implications before confirming a booking.

important

Accurate handling of cancellation policies is essential to avoid financial discrepancies and maintain trust across the Travelgate ecosystem.

Internal Cancellation Policy Model​

At Travelgate, we use a standardized model to represent cancellation policies, allowing us to consistently translate information coming from a wide range of suppliers. Below is a breakdown of the core components of this model.

Key Elements of a Cancellation Policy​

A cancellation policy is composed of a list of penalties (CancelPenalties). Each penalty includes the following information:

  • PenaltyType: Specifies the type of penalty applied upon cancellation. It can be a fixed amount, a number of nights, or a percentage of the total cost.
  • Currency: Indicates the currency in which the penalty value is expressed.
  • Value: The amount of the penalty (either a monetary value, a number of nights, or a percentage). It usually corresponds to the net amount (without commission) the client must pay. If the supplier only provides a gross price (with commission), the penalty will be calculated using that price. Travelgate attempts to detect the price type and align it with the cancellation policy to ensure consistency throughout the booking process.
  • Deadline: Date on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z).
note

Deadline and HoursBefore represent the same concept—the time at which the penalty is triggered. The difference is that one is absolute (Deadline) and the other is relative (HoursBefore).

Internal Model Structure in C#​

public class CancelPolicy
{
protected CancelPolicy() { }

public CancelPolicy(bool refundable, IEnumerable<CancelPenalty> cancelPenalties)
{
Refundable = refundable;

if (refundable)
{
CancelPenalties = cancelPenalties ?? throw new ArgumentNullException(nameof(cancelPenalties));
}
}

[DataMember(Order = 1)]
public bool Refundable { get; init; }

[DataMember(Order = 2)]
public IEnumerable<CancelPenalty> CancelPenalties { get; set; }

[DataMember(Order = 3)]
public string CancelPolicyDescription { get; set; }
}

[DataContract]
[Serializable]
public class CancelPenalty
{
private CancelPenalty() { }

public CancelPenalty(uint hoursBefore, PenaltyType penaltyType, Currency currency, double value, string deadline = default)
{
HoursBefore = hoursBefore;
PenaltyType = penaltyType;
Currency = currency;
Value = value;
Deadline = deadline;
}

[DataMember(Order = 1)]
public uint HoursBefore { get; set; }

[DataMember(Order = 2)]
public PenaltyType PenaltyType { get; set; }

[DataMember(Order = 3)]
public Currency Currency { get; set; }

[DataMember(Order = 4)]
public double Value { get; set; }

[DataMember(Order = 5)]
public string Deadline { get; set; }
}

public enum PenaltyType
{
Amount, // Fixed amount
Nights, // Number of nights
Percentage // Percentage of the total booking cost
}

Request​

The Request is structured to accommodate various parameters to their Quote operation.

Overview​

Represents the structure of the Quote request, including required fields such as optionId and occupancy.

Sample​

var quoteRq = new QuoteRq
{
QuoteCriteria = new QuoteCriteria
{
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",
Parameters = new List<Parameter>
{
new Parameter
{
Key = 3,
Value = "SomeSupplierValue",
ParameterType = "Supplier",
Immutable = false,
RoomId = 1
}
},
CheckIn = "2024-05-12",
CheckOut = "2024-05-14",
TotalNights = 2,
Language = "en",
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
QuoteCriteria1QuoteCriteriaCriteria for the Quote request, such as dates, selected rooms, or other Search-related parameters.
QuoteCriteria/CheckIn1StringThe check-in date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD).
QuoteCriteria/CheckOut1StringThe check-out date for the operation, represented as a string in ISO 8601 format (YYYY-MM-DD).
QuoteCriteria/
CheckInAsDateTime
0 . . 1StringThe check-in date parsed as a DateTime object, expressed in UTC 0
QuoteCriteria/
CheckOutAsDateTime
0 . . 1StringThe check-out date parsed as a DateTime object, expressed in UTC 0
QuoteCriteria/TotalNights0 . . 1IntegerThe total number of nights for the stay, calculated as the difference between check-in and check-out dates.
QuoteCriteria/Language1StringThe language code for the operation, represented as a 2-character ISO 639-1 code (e.g., "en", "es").
QuoteCriteria/Currency0 . . 1CurrencyThe preferred currency for the operation, defined as an optional Currency value.
QuoteCriteria/Nationality0 . . 1StringThe nationality code of the client, represented as a 2-character ISO 3166-1 alpha-2 country code (e.g., "US", "FR").
QuoteCriteria/Accommodation1AccommodationRQAccommodation details for the Quote request, such as the hotel or rental being evaluated.
QuoteCriteria/Accommodation/
Type
1AccommodationTypeSpecifies the type of accommodation being requested, such as Hotel or Rental.
QuoteCriteria/Accommodation/
Code
1StringRepresents a unique code identifying the accommodation in the request.
QuoteCriteria/BoardCode1StringBoard code indicating the meal plan for the Quote.
QuoteCriteria/Occupancies1 . . NArray<Occupancy>Details about the occupancy for the Quote request, including rooms, passengers, and their ages.
QuoteCriteria/Occupancies/
OccupancyId
1IntegerThe unique identifier for the occupancy.
QuoteCriteria/Occupancies/
Paxes
1 . . NArray<PaxInput>The collection of passenger inputs (paxes) for the occupancy.
QuoteCriteria/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.
QuoteCriteria/Market0 . . 1StringThe market code associated with the Quote request.
QuoteCriteria/Rooms1 . . NArray<Room>List of selected rooms for the Quote request.
QuoteCriteria/Rooms/
OccupancyRefId
1IntegerNumeric ID linking this room to its occupancy data in the Occupancy.
QuoteCriteria/Rooms/Code1StringUnique code assigned to this room.
QuoteCriteria/Rooms/
Description
0 . . 1StringDescription of the room's features or characteristics.
QuoteCriteria/Rooms/RoomPrice1RoomPricePricing information for the room, including total price and currency details.
QuoteCriteria/Rooms/RoomPrice/
Price
1PriceThe total price of the room.
QuoteCriteria/Rooms/RoomPrice/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
QuoteCriteria/Rooms/RoomPrice/
Price/Binding
1BooleanIndicates whether the price is binding.
QuoteCriteria/Rooms/RoomPrice/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
QuoteCriteria/Rooms/RoomPrice/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
QuoteCriteria/Rooms/RoomPrice/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
QuoteCriteria/Rooms/RoomPrice/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown
0 . . NArray<PriceBreakdown>Breakdown of the room price over specific periods, such as daily rates.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price
1PriceThe price for each day of the room during the specified period.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Binding
1BooleanIndicates whether the price is binding.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/Start
1IntegerThe starting day of the pricing period (inclusive).
QuoteCriteria/Rooms/RoomPrice/
PriceBreakdown/End
1IntegerThe ending day of the pricing period (inclusive).
QuoteCriteria/Rooms/Refundable1BooleanIndicates if the room is refundable based on the cancellation policy.
QuoteCriteria/Rooms/
RefundableSpecified
1BooleanIndicates whether the refundable status has been explicitly specified.
QuoteCriteria/Rooms/
LegacyRoomId
1StringLegacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code.
QuoteCriteria/Rooms/Units0 . . 1IntegerNumber of units available for this room type.
QuoteCriteria/Rooms/RatePlan0 . . 1RatePlanRate plan associated with this room.
QuoteCriteria/Rooms/RatePlan/
Code
1StringThe unique code for the rate plan.
QuoteCriteria/Rooms/RatePlan/
Name
0 . . 1StringThe name of the rate plan.
QuoteCriteria/Rooms/Promotions0 . . NArray<Promotion>Promotions or discounts applicable to this room.
QuoteCriteria/Rooms/Promotions/
Code
1StringThe unique code identifying the promotion.
QuoteCriteria/Rooms/Promotions/
Name
0 . . 1StringThe name of the promotion.
QuoteCriteria/Rooms/Remarks0 . . NArray<Remark>Additional remarks or notes about this room.
QuoteCriteria/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.
QuoteCriteria/Rooms/Remarks/
Text
1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
QuoteCriteria/Rooms/Surcharges0 . . NArray<Surcharge>Additional surcharges applied to this room.
QuoteCriteria/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.
QuoteCriteria/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.
QuoteCriteria/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".
QuoteCriteria/Rooms/Surcharges/
Price
1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
QuoteCriteria/Rooms/Surcharges/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
QuoteCriteria/Rooms/Surcharges/
Price/Binding
1BooleanIndicates whether the price is binding.
QuoteCriteria/Rooms/Surcharges/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
QuoteCriteria/Rooms/Surcharges/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
QuoteCriteria/Rooms/Surcharges/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
QuoteCriteria/Rooms/Surcharges/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
QuoteCriteria/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.
QuoteCriteria/Rooms/
CancelPolicy
0 . . 1CancelPolicyCancellation policy specific to this room.
QuoteCriteria/Rooms/
CancelPolicy/Refundable
1BooleanIndicates whether the booking is refundable.
QuoteCriteria/Rooms/
CancelPolicy/CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
QuoteCriteria/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.
QuoteCriteria/Rooms/
CancelPolicy/CancelPenalties/
PenaltyType
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
QuoteCriteria/Rooms/
CancelPolicy/CancelPenalties/
Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
QuoteCriteria/Rooms/
CancelPolicy/CancelPenalties/
Value
1DoubleIndicates the value of the penalty.
QuoteCriteria/Rooms/
CancelPolicy/CancelPenalties/
Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
QuoteCriteria/Rooms/
CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
QuoteCriteria/Rooms/Beds0 . . NArray<Bed>List of beds available in the room, including types and configurations.
QuoteCriteria/Rooms/Beds/Type0 . . 1StringThe type of the bed.
QuoteCriteria/Rooms/Beds/
Description
0 . . 1StringA description of the bed.
QuoteCriteria/Rooms/Beds/Count0 . . 1IntegerThe number of beds of this type in the room.
QuoteCriteria/Rooms/Beds/
Shared
0 . . 1BooleanIndicates whether the bed is shared.
QuoteCriteria/Rooms/Amenities0 . . NArray<Amenity>Amenities included with this room, such as Wi-Fi or parking.
QuoteCriteria/Rooms/Amenities/
Code
1StringA unique code that identifies the amenity.
QuoteCriteria/Rooms/Amenities/
Type
1AmenityTypeThe type of the amenity, defined by AmenityType.
QuoteCriteria/Rooms/Amenities/
Value
1StringThe value associated with the amenity.
QuoteCriteria/Rooms/Amenities/
Texts
0 . . 1StringAdditional textual information or description for the amenity.
QuoteCriteria/Rooms/
UnitsSpecified
1BooleanIndicates whether the number of units has been explicitly specified.
QuoteCriteria/Rooms/Features0 . . NArray<Feature>Features or custom attributes of the room, used for specific integrations.
QuoteCriteria/Rooms/Features/
Code
1StringThe unique code identifying the feature of the room.
QuoteCriteria/PaymentType1PaymentTypePayment type selected for the Quote request.
QuoteCriteria/Parameters0 . . NArray<Parameter>Additional parameters required for the Quote.
QuoteCriteria/Parameters/Key1IntegerIdentifies the parameter with a numeric key.
QuoteCriteria/Parameters/Value1StringDefines the value associated with the parameter.
QuoteCriteria/Parameters/
ParameterType
1ParameterTypeSpecifies the type of the parameter (ParameterType), whether it is internal or supplier-related.
QuoteCriteria/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.
QuoteCriteria/Parameters/
RoomId
1IntegerAssociates the parameter with a specific room, identified by its ID.
QuoteCriteria/FromBookCriteria0 . . 1FromBookCriteriaCriteria used for creating a Quote from a book request.
QuoteCriteria/FromBookCriteria/
BookPrice
1BookPriceContains the price details associated with the booking.
QuoteCriteria/FromBookCriteria/
BookPrice/Price
1PriceThe price of the booking.
QuoteCriteria/FromBookCriteria/
BookPrice/Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
QuoteCriteria/FromBookCriteria/
BookPrice/Price/Binding
1BooleanIndicates whether the price is binding.
QuoteCriteria/FromBookCriteria/
BookPrice/Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
QuoteCriteria/FromBookCriteria/
BookPrice/Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
QuoteCriteria/FromBookCriteria/
BookPrice/Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
QuoteCriteria/FromBookCriteria/
BookPrice/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
QuoteCriteria/FromBookCriteria/
BookPrice/DeltaPrice
1DeltaPriceThe delta price, representing any allowable price changes or adjustments.
QuoteCriteria/FromBookCriteria/
BookPrice/DeltaPrice/Amount
1DoubleThe fixed amount allowed for the delta price.
QuoteCriteria/FromBookCriteria/
BookPrice/DeltaPrice/
Percentage
1DoubleThe percentage allowed for the delta price.
QuoteCriteria/FromBookCriteria/
DateQuote
1StringRepresents the date when the Quote is generated during the booking process.
QuoteCriteria/FromBookCriteria/
CancelPolicy
1CancelPolicySpecifies the cancellation policy associated with the booking.
QuoteCriteria/FromBookCriteria/
CancelPolicy/Refundable
1BooleanIndicates whether the booking is refundable.
QuoteCriteria/FromBookCriteria/
CancelPolicy/CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
QuoteCriteria/FromBookCriteria/
CancelPolicy/CancelPenalties/
HoursBefore
0 . . 1IntegerIndicates the number of hours before the check-in date when the penalty becomes applicable.
QuoteCriteria/FromBookCriteria/
CancelPolicy/CancelPenalties/
PenaltyType
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
QuoteCriteria/FromBookCriteria/
CancelPolicy/CancelPenalties/
Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
QuoteCriteria/FromBookCriteria/
CancelPolicy/CancelPenalties/
Value
1DoubleIndicates the value of the penalty.
QuoteCriteria/FromBookCriteria/
CancelPolicy/CancelPenalties/
Deadline
1StringSpecifies the absolute deadline for the penalty in UTC format.
QuoteCriteria/FromBookCriteria/
CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
Settings1SettingsAccess settings for connecting with the provider during the Quote request.
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 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).

Response​

Represents the structure of the Quote response, including fields such as price, cancellation policies, and additional details.

Overview​

The Quote operation returns:

  • Updated Price Details: Reflects any adjustments to the price since the initial Search.
  • Cancellation Policies: Confirms the policies associated with the option, including penalties and deadlines.
  • Additional Details: May include supplier-specific remarks or notes.

Sample​

var quoteRs = new QuoteRs
{
AuditData = new AuditData
{
Request = new List<RequestData>
{
new RequestData
{
Data = "<x>SupplierRequest</x>",
Headers = new Dictionary<string, string>
{
{ "Accept", "application/x-protobuf" },
{ "Accept-Encoding", "gzip,deflate," }
},
HttpMethod = new HttpMethodData { Method = "POST" },
SendAt = DateTime.Parse("2025-03-16T08:21:49Z"),
Url = "http://travelgate.com"
}
},
Response = new List<ResponseData>
{
new ResponseData
{
Data = "<x>SupplierResponse</x>",
Headers = new Dictionary<string, string>
{
{ "Content-Encoding", "gzip," }
},
HttpMethod = new HttpMethodData { 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 ExternalMessage
{
Code = "Code123",
Message = "Supplier internal error",
HttpStatusCode = 200
}
}
},
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 100,
Gross = 100,
NetSpecified = true,
MinimumSellingPrice = 100
},
Status = "OK",
PaymentType = "MerchantPay",
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
}
}
}
}
},
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."
},
Surcharges = new List<Surcharge>
{
new Surcharge
{
ChargeType = "Excluded",
Mandatory = true,
Description = "Resort Fee",
Price = new Price
{
Currency = "EUR",
Binding = true,
Net = 10,
Gross = 10,
NetSpecified = true,
MinimumSellingPrice = 10
},
Code = "RESORT_FEE"
}
},
Remarks = new List<Remark>
{
new Remark
{
RemarkType = "General",
Text = "CheckIn at 10:00 AM"
}
},
PaymentInfo = new PaymentInfo
{
AcceptedCreditCards = new List<string> { "AX" }
},
Parameters = new List<Parameter>
{
new Parameter
{
Key = 2,
Value = "SomeSupplierValue",
ParameterType = "Supplier",
Immutable = true,
RoomId = 0
}
}
};

Details​

NameRelationTypeDescription
AuditData1ProviderAuditContains the audit data detailing the requests and responses exchanged with the supplier.This field is populated internally by the connector framework.
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, including errors or warnings encountered during the Quote 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/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.
Price1PriceContains the price details for the quoted option.
Price/Currency1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Price/Binding1BooleanIndicates whether the price is binding.
Price/Net1DoubleThe net price paid by the Buyer to the Seller.
Price/Gross1DoubleThe gross price, which includes the net price and the Buyer's commission.
Price/NetSpecified1BooleanIndicates whether the net price is explicitly specified.
Price/MinimumSellingPrice1DoubleThe minimum selling price.
Status0 . . 1StatusIndicates the status of the Quote.
PaymentType0 . . 1PaymentTypePayment types available for the Option.
Rooms0 . . NArray<Room>List of rooms included in the quoted option.
Rooms/OccupancyRefId1IntegerNumeric ID linking this room to its occupancy data in the Occupancy.
Rooms/Code1StringUnique code assigned to this room.
Rooms/Description0 . . 1StringDescription of the room's features or characteristics.
Rooms/RoomPrice1RoomPricePricing information for the room, including total price and currency details.
Rooms/RoomPrice/Price1PriceThe total price of the room.
Rooms/RoomPrice/Price/Currency1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Rooms/RoomPrice/Price/Binding1BooleanIndicates whether the price is binding.
Rooms/RoomPrice/Price/Net1DoubleThe net price paid by the Buyer to the Seller.
Rooms/RoomPrice/Price/Gross1DoubleThe gross price, which includes the net price and the Buyer's commission.
Rooms/RoomPrice/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Rooms/RoomPrice/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Rooms/RoomPrice/PriceBreakdown0 . . NArray<PriceBreakdown>Breakdown of the room price over specific periods, such as daily rates.
Rooms/RoomPrice/PriceBreakdown/
Price
1PriceThe price for each day of the room during the specified period.
Rooms/RoomPrice/PriceBreakdown/
Price/Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Rooms/RoomPrice/PriceBreakdown/
Price/Binding
1BooleanIndicates whether the price is binding.
Rooms/RoomPrice/PriceBreakdown/
Price/Net
1DoubleThe net price paid by the Buyer to the Seller.
Rooms/RoomPrice/PriceBreakdown/
Price/Gross
1DoubleThe gross price, which includes the net price and the Buyer's commission.
Rooms/RoomPrice/PriceBreakdown/
Price/NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Rooms/RoomPrice/PriceBreakdown/
Price/MinimumSellingPrice
1DoubleThe minimum selling price.
Rooms/RoomPrice/PriceBreakdown/
Start
1IntegerThe starting day of the pricing period (inclusive).
Rooms/RoomPrice/PriceBreakdown/
End
1IntegerThe ending day of the pricing period (inclusive).
Rooms/Refundable1BooleanIndicates if the room is refundable based on the cancellation policy.
Rooms/RefundableSpecified1BooleanIndicates whether the refundable status has been explicitly specified.
Rooms/LegacyRoomId1StringLegacy identifier for internal tracking. Automatically generated using OccupancyRefId and Code.
Rooms/Units0 . . 1IntegerNumber of units available for this room type.
Rooms/RatePlan0 . . 1RatePlanRate plan associated with this room.
Rooms/RatePlan/Code1StringThe unique code for the rate plan.
Rooms/RatePlan/Name0 . . 1StringThe name of the rate plan.
Rooms/Promotions0 . . NArray<Promotion>Promotions or discounts applicable to this room.
Rooms/Promotions/Code1StringThe unique code identifying the promotion.
Rooms/Promotions/Name0 . . 1StringThe name of the promotion.
Rooms/Remarks0 . . NArray<Remark>Additional remarks or notes about this room.
Rooms/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.
Rooms/Remarks/Text1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
Rooms/Surcharges0 . . NArray<Surcharge>Additional surcharges applied to this room.
Rooms/Surcharges/ChargeType1ChargeTypeSpecifies whether the surcharge is included in the room rate or must be paid separately at the property. See ChargeType for possible values.
Rooms/Surcharges/Mandatory1BooleanIndicates 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.
Rooms/Surcharges/Description1StringProvides a description of the surcharge, giving context about the type of cost it represents.Examples: "Tourist Tax", "Resort Fee", or "Additional Bed Fee".
Rooms/Surcharges/Price1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
Rooms/Surcharges/Price/
Currency
1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Rooms/Surcharges/Price/Binding1BooleanIndicates whether the price is binding.
Rooms/Surcharges/Price/Net1DoubleThe net price paid by the Buyer to the Seller.
Rooms/Surcharges/Price/Gross1DoubleThe gross price, which includes the net price and the Buyer's commission.
Rooms/Surcharges/Price/
NetSpecified
1BooleanIndicates whether the net price is explicitly specified.
Rooms/Surcharges/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Rooms/Surcharges/Code0 . . 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.
Rooms/CancelPolicy0 . . 1CancelPolicyCancellation policy specific to this room.
Rooms/CancelPolicy/Refundable1BooleanIndicates whether the booking is refundable.
Rooms/CancelPolicy/
CancelPenalties
0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
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.
Rooms/CancelPolicy/
CancelPenalties/PenaltyType
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
Rooms/CancelPolicy/
CancelPenalties/Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
Rooms/CancelPolicy/
CancelPenalties/Value
1DoubleIndicates the value of the penalty.
Rooms/CancelPolicy/
CancelPenalties/Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
Rooms/CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
Rooms/Beds0 . . NArray<Bed>List of beds available in the room, including types and configurations.
Rooms/Beds/Type0 . . 1StringThe type of the bed.
Rooms/Beds/Description0 . . 1StringA description of the bed.
Rooms/Beds/Count0 . . 1IntegerThe number of beds of this type in the room.
Rooms/Beds/Shared0 . . 1BooleanIndicates whether the bed is shared.
Rooms/Amenities0 . . NArray<Amenity>Amenities included with this room, such as Wi-Fi or parking.
Rooms/Amenities/Code1StringA unique code that identifies the amenity.
Rooms/Amenities/Type1AmenityTypeThe type of the amenity, defined by AmenityType.
Rooms/Amenities/Value1StringThe value associated with the amenity.
Rooms/Amenities/Texts0 . . 1StringAdditional textual information or description for the amenity.
Rooms/UnitsSpecified1BooleanIndicates whether the number of units has been explicitly specified.
Rooms/Features0 . . 1Array<Feature>Features or custom attributes of the room, used for specific integrations.
Rooms/Features/Code1StringThe unique code identifying the feature of the room.
CancelPolicy1CancelPolicyCancellation policy applicable to the quoted option.
CancelPolicy/Refundable1BooleanIndicates whether the booking is refundable.
CancelPolicy/CancelPenalties0 . . NArray<CancelPenalty>A collection of penalties that apply if the booking is canceled.
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.
CancelPolicy/CancelPenalties/
PenaltyType
1PenaltyTypeSpecifies the type of penalty enforced upon cancellation.
CancelPolicy/CancelPenalties/
Currency
1CurrencySpecifies the currency in which the penalty value is expressed.
CancelPolicy/CancelPenalties/
Value
1DoubleIndicates the value of the penalty.
CancelPolicy/CancelPenalties/
Deadline
1StringDate on UTC Standard TimeZone in which this cancellation policy applies (ISO 8601 UTC 2025-11-01T05:00:00Z)
CancelPolicy/
CancelPolicyDescription
0 . . 1StringProvides additional details or a textual summary of the cancellation policy.
Surcharges0 . . NArray<Surcharge>Collection of surcharges applied to the quoted option.
Surcharges/ChargeType1ChargeTypeSpecifies whether the surcharge is included in the room rate or must be paid separately at the property. See ChargeType for possible values.
Surcharges/Mandatory1BooleanIndicates 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.
Surcharges/Description1StringProvides a description of the surcharge, giving context about the type of cost it represents.Examples: "Tourist Tax", "Resort Fee", or "Additional Bed Fee".
Surcharges/Price1PriceRepresents the price of this surcharge, including the amount and currency. See Price for details about the price structure.
Surcharges/Price/Currency1CurrencyThe currency of the price, represented in ISO 4217 format (e.g., USD, EUR).
Surcharges/Price/Binding1BooleanIndicates whether the price is binding.
Surcharges/Price/Net1DoubleThe net price paid by the Buyer to the Seller.
Surcharges/Price/Gross1DoubleThe gross price, which includes the net price and the Buyer's commission.
Surcharges/Price/NetSpecified1BooleanIndicates whether the net price is explicitly specified.
Surcharges/Price/
MinimumSellingPrice
1DoubleThe minimum selling price.
Surcharges/Code0 . . 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.
Remarks0 . . NArray<Remark>Additional remarks associated with the Quote.
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.
Remarks/Text1StringThe text content of the remark, providing details or additional notes.This can include supplier-specific instructions, conditions, or general information.
PaymentInfo0 . . 1PaymentInfoPayment information for the quoted option, such as accepted credit card types.
PaymentInfo/
AcceptedCreditCards
0 . . NArray<CreditCardType>A collection of accepted credit card types.This is required when the payment type requires a credit card.
Parameters0 . . NArray<Parameter>Parameters associated with the quoted option for transferring data between operations.
Parameters/Key1IntegerIdentifies the parameter with a numeric key.
Parameters/Value1StringDefines the value associated with the parameter.
Parameters/ParameterType1ParameterTypeSpecifies the type of the parameter (ParameterType), whether it is internal or supplier-related.
Parameters/Immutable1BooleanIndicates 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.
Parameters/RoomId1IntegerAssociates the parameter with a specific room, identified by its ID.
AddOns0 . . 1ObjectAdditional information provided by the supplier for the quoted option.