Add Hotel Reservation v9 API Reference
Put |
reservation/v9/reservations/{reservation} For {LocatorCode} send the locator code of the reservation to retrieve (returned in the reservation commit in Confirmation/Locator/value). Base path: Pre-production https://api.apim-a.adc.pp.travelport.io/hotel/ Production https://api.apim-a.adc.prod.travelport.io/hotel/ |
Related Content: Hotel Guide, Hotel Workflow Diagram
Add a hotel reservation to an existing travel itinerary, or reservation, by sending a PUT request to the same endpoint used for booking.
Request
Also see Authorization and Common Hotel API Headers.
Query Parameters
None.
Request Body
Object |
Description |
Required/Optional |
---|---|---|
ReservationBackOffice |
Top-level object for Add Reservation request. Includes Receipt, Offer, Form of Payment, Payment, ReservationComment, TravelAgency, and BackOffice objects. |
Required |
|
String. A system provided tracking ID. The response reflects this tracking ID. |
Required |
Receipt |
Confirmation details. Includes Confirmation object. |
Required |
Confirmation |
Confirmation details. Includes Locator object |
Required |
|
String. Status of confirmation. Possible values include:
|
Required |
Locator |
The reservation locator code. |
Required |
|
String. Content source either two-digit GDS or Supplier code. |
Required |
|
String. Either Travelport or Supplier. |
Required |
|
String. If sourceContext is Travelport, the value is the reservation locator code. If sourceContext is Supplier, the value is the supplier confirmation number. |
Required |
Offer |
Details of reservation. Includes Product and TermsAndConditionsFull objects. |
Required |
|
String. A catalogOffering id taken from the Hotel Availability response. If Offer.id is used, then the corresponding offer is retrieved to complete the booking. No other Offer fields are required in the reservation request when Offer.id is used.
|
Optional |
Product |
Specifics about the reservation. Includes PropertyKey and DateRange objects. |
Required |
|
String. Booking code from the availability response for the new room. |
Required |
|
Number. Total number of guests. Must be a numeric value between 1 and 9. |
Required |
|
Number. Number of rooms requested. If not provided, default quantity is 1. |
Optional |
PropertyKey |
Chain and property codes. |
Required |
|
String. Two-character chain code to search. |
Required |
|
String. Property code of the property within the hotel chain. |
Required |
DateRange |
Check-in and -out dates. |
Required |
|
String. Check-in date in YYYY-MM-DD format. |
Required |
|
String. Check-out date in YYYY-MM-DD format. |
Required |
TermsAndConditionsFull |
Reservation terms and conditions. Includes ProductRateCodeInfo object. |
Required |
ProductRateCodeInfo |
Top level object for information associated with negotiated rate plan codes, when applicable. |
Required |
RateCodeInfo |
Information on the rate code. |
Required when returned in the Availability response. |
|
String. The negotiated rate plan code returned in the Availability response. |
Required |
|
String. Name of the rate plan returned in the Availability response. |
Optional |
|
String. ID of the rate plan associated with the negotiated rate plan code returned in the Availability response. |
Required |
|
String. OTA rate category code. Values can be:
|
Optional |
FormOfPayment |
Form of payment details. Includes PaymentCard object. |
Required |
PaymentCard |
Payment card details. Includes CardNumber object. |
Required |
|
String. Credit card expiration date in MMYY format. |
Required |
|
String. Type of card including Credit, Debit, and Gift. |
Required |
|
String. Code for credit card type. |
Required |
|
String. Name on credit card. |
Required |
CardNumber |
Card number details. |
Required |
|
String. Credit card number. |
Required |
Payment |
Top-level object for deposit payment details. If provided, this is for a deposit in the amount specified in Payment.Amount. If not provided, the payment card info is used as a guarantee form of payment. Includes Amount object. |
Optional |
|
String. Customer-assigned identifier for the payment. |
Required if sending Payment. |
|
String. Customer-assigned name for the form of payment. |
Required if sending Payment. |
Amount |
Payment amount. Optional, send only if sending Payment. |
Required if sending Payment. |
|
String. Currency code. |
Required if sending Payment. |
|
Number. Amount to pay. |
Required if sending Payment. |
ReservationComment |
Comment about the reservation. Includes Comment object. |
Optional |
Comment |
Optional, send if sending ReservationComment. Multiple comment objects may be sent. |
Optional |
|
String. Text sent to supplier for special instructions. Limited to 50 characters. |
Optional |
TravelAgency |
Optional top level object for travel agency information. Includes Telephone object. |
Optional |
Telephone |
Agency telephone contact information. |
Optional |
|
String. Agency telephone number. |
Optional |
|
String. Agency phone local area code. |
Optional |
|
String. OTA code for how phone is used. (e.g. Home, Business, Emergency Contact, Travel Arranger, Day, Evening) |
Optional |
|
String. Agency city code. |
Optional |
GroupName |
String. Name of travel group. If applicable, a name assigned to a reservation containing an offer with Passengerflight / Flight Quantity equal to or greater than 10. |
Optional |
Response
The response for the Hotel Add Reservation request is the same as for create reservation; see the Create Reservation API Reference.
Example Request
The example payload request below adds a hotel reservation to a reservation with the Locator code 34V0ZM.
{
"ReservationBackOffice": {
"id": "reservation_1",
"Receipt": [
{
"@type": "ReceiptConfirmation",
"Confirmation": {
"@type": "ConfirmationHold",
"ConfirmationStatus": "Confirmed",
"Locator": {
"sourceContext": "Travelport",
"value": "34V0ZM"
}
}
}
],
"Offer": [
{
"@type": "Offer",
"Product": [
{
"@type": "ProductHospitality",
"bookingCode": "1KNRACK",
"guests": 1,
"Quantity": "1",
"PropertyKey": {
"chainCode": "HY",
"propertyCode": "81388"
},
"DateRange": {
"start": "2020-04-14",
"end": "2020-04-15"
}
}
],
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullHospitality",
"ProductRateCodeInfo": [
{
"@type": "ProductRateCodeInfo",
"RateCodeInfo": {
"value": "",
"rateName": "",
"rateID": "",
"rateCategory": ""
}
}
]
}
]
}
],
"FormOfPayment": [
{
"@type": "FormOfPaymentPaymentCard",
"PaymentCard": {
"@type": "PaymentCardDetail",
"expireDate": "1120",
"CardType": "Credit",
"CardCode": "VI",
"CardHolderName": "FRANK SINATRA",
"CardNumber": {
"PlainText": "4444333322221111"
}
}
}
],
"Payment": [
{
"@type": "Payment",
"id": "payment_1",
"PaymentRef": "payment_1",
"Amount": {
"code": "USD",
"value": 196.1
}
}
],
"ReservationComment": [
{
"@type": "ReservationComment",
"Comment": [
{
"value": "Example String Value",
"id": "comment_8",
"name": "Example String Value",
"language": "EN"
}
]
}
],
"TravelAgency": {
"@type": "TravelAgencyDetail",
"Telephone": [
{
"phoneNumber": "832-8014 - SANDBOX FAMILY - 49736293",
"@type": "TelephoneDetail",
"areaCityCode": "703",
"phoneUseType": "AS",
"cityCode": "IAD"
}
]
},
"GroupName": "RioGrande/Tour"
}
}
Example Response
The request above returns the example response below, returning the same locator and showing the booking was confirmed.
{
"ReservationResponse": {
"Reservation": {
"@type": "ReservationBackOffice",
"id": "5147a6ea-f712-4953-8ea9-86e0b2ca6b52:npn",
"Offer": [
{
"@type": "Offer",
"Product": [
{
"@type": "ProductHospitality",
"bookingCode": "1KNRACK",
"guests": 1,
"Quantity": "1",
"PropertyKey": {
"chainCode": "HY",
"propertyCode": "81388"
},
"DateRange": {
"start": "2020-04-14",
"end": "2020-04-15"
}
}
],
"Price": {
"@type": "PriceDetail",
"currencyCode": "USD",
"TotalPrice": "241.45"
},
"TermsAndConditionsFull": [
{
"@type": "TermsAndConditionsFullHospitality",
"Description": [
"CXL:CANCEL BY 3PM MST 48 HOURS PRIOR TO ARRIVAL *"
]
}
]
}
],
"Traveler": [
{
"@type": "Traveler",
"PersonName": {
"@type": "PersonName",
"Given": "SAINIK",
"Surname": "DAS"
}
}
],
"Receipt": [
{
"@type": "ReceiptConfirmation",
"Confirmation": {
"@type": "ConfirmationHold",
"ConfirmationStatus": "Confirmed",
"Locator": {
"sourceContext": "Travelport",
"value": "34V0ZM"
}
}
},
{
"@type": "ReceiptConfirmation",
"Confirmation": {
"@type": "ConfirmationHold",
"ConfirmationStatus": "Confirmed",
"Locator": {
"source": "HY",
"sourceContext": "Supplier",
"value": "HY0041941638"
}
}
}
],
"ReservationComment": [
{
"@type": "ReservationComment",
"Comment": [
{
"value": "Example String Value"
}
]
}
]
}
}
}
Error Messages
SourceCode |
StatusCode (HTTP Code) |
Message |
---|---|---|
Not Found |
404 |
Cannot find hotel offer with ID: {offer id}. Offer ID may be incorrect or offer has expired. Try performing availability again. |