Use Modify Hotel Reservation to modify specific data on an existing booking. Modify Hotel supports changes to the following data:
Dates of reservation
- If allowed by supplier; note that a change in price may occur
Form of payment details
One or more specific details of the traveler associated with a booking:
- Changing the given name and/or surname to that of another traveler currently on the reservation; other name changes are not supported
- Telephone number
- Email address
- Adding new comments
Please note: Booking.com does not support modify capabilities. You cannot modify reservations made from Booking.com content.
Please note: When changing dates for a reservation sold through Travelport, best practice is to first send an Availability request for the new dates and look for the same booking code that is on the existing reservation. Although an Availability request is not mandatory, the Modify request will fail if the new dates are not available.
Add Hotel Reservation allows you to add another hotel room to an existing reservation. The full payload request sends complete offer details and the booking code from a preceding Availability request. Reference payload request sends a cached offer ID from a preceding Availability response. It requires both a preceding search (either by location or by ID) request and an Availability request, or a SearchComplete request.
Identifier provides the ability to create a globally unique identifier. For the identifier to be globally unique it must have a system provided identifier and the system must be identified using a global naming authority. System identification uses the domain naming system (DNS) to assure they are globally unique and should be an URL. The system provided ID will typically be a primary or surrogate key in a database.
If true, user accepts any difference in the total price received in availability versus what is the current price in the sell process; false denotes that the user does not accept a price difference and the sell process should not complete. If indicator is not sent the service will default to false.
If true, the user accepts any difference in the guarantee type (guarantee required, deposit required, prepay required) received in availability versus what is the current guarantee type in the sell process; false denotes that the user does not accept a guarantee type difference and the sell process should not complete. If indicator is not sent the service will default to false.
When acceptPriceChangeInd parameter is set to true you can use this maximumPriceIncrease parameter to specify a percentage threshold where a price change is acceptable. If the total price increase between the Sell and the Avail/Rules request is over this threshold the sell will be stopped and an error returned.
- https://api.pp.travelport.net/11https://api.pp.travelport.net/11/hotel/book/reservations/{Identifier}
- https://api.travelport.net/11https://api.travelport.net/11/hotel/book/reservations/{Identifier}
curl -i -X PUT \
'https://api.pp.travelport.net/11/hotel/book/reservations/{Identifier}?acceptPriceChangeInd=true&acceptGuaranteeChangeInd=true&maximumPriceIncrease=1.5&applyStrictReservationCommentValidationInd=true' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-H 'TVP-Correlation-Id: 382c74c3-721d-4f34-80e5-57657b6cbc27' \
-H 'TVP-PCC-Core: DU7_1G' \
-H 'TraceId: TraceID_123456789' \
-H 'XAUTH_TRAVELPORT_ACCESSGROUP: 19Y88702-C27A-4E5D-829A-89D7016688B1' \
-d '{
"ReservationDetail": {
"@type": "Reservation",
"Offer": [
{
"@type": "Offer",
"id": "62b3ced3-92f7-47b3-adb1-03588c5dc5a7:190000fa-366c-4ffd-a4d1-59d17177c774",
"Product": [
{
"@type": "ProductHospitality",
"bookingCode": "APB174",
"Quantity": 1,
"guests": 1,
"PropertyKey": {
"@type": "PropertyKey",
"propertyCode": "2772",
"chainCode": "HH"
},
"DateRange": {
"start": "2026-12-01",
"end": "2026-12-02"
}
}
],
"Price": {
"@type": "PriceDetail",
"CurrencyCode": {
"value": "EUR"
},
"Base": 600,
"TotalTaxes": 150,
"TotalPrice": 750
}
}
],
"Payment": [
{
"@type": "Payment",
"Amount": {
"code": "USD",
"value": 308.43
}
}
],
"FormOfPayment": [
{
"@type": "FormOfPaymentPaymentCard",
"PaymentCard": {
"@type": "PaymentCardDetail",
"expireDate": "0825",
"CardType": "Credit",
"CardCode": "VI",
"CardHolderName": "Frank Sinatra",
"CardNumber": {
"@type": "CardNumber",
"PlainText": "XXXXXXXXXXX"
},
"SeriesCode": {
"@type": "SeriesCode",
"PlainText": "XXX"
},
"PersonName": {
"@type": "PersonNameDetail",
"Given": "Bill",
"Surname": "Thisguy"
},
"Address": {
"@type": "AddressDetail",
"Number": {
"value": "125"
},
"Street": "Billing Address Street",
"AddressLine": [
"125 Billing Address Street"
],
"City": "Claremont",
"County": "Los Angeles",
"StateProv": {
"value": "CA"
},
"Country": {
"value": "US"
},
"PostalCode": "91711-3323"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "1",
"areaCityCode": "909",
"phoneNumber": "1231234",
"cityCode": "DEN"
}
],
"Email": [
{
"value": "smith@example.com"
}
]
}
}
],
"Traveler": [
{
"@type": "Traveler",
"PersonName": {
"@type": "PersonNameDetail",
"Given": "Jon",
"Surname": "Smith"
},
"Telephone": [
{
"@type": "TelephoneDetail",
"countryAccessCode": "91",
"areaCityCode": "011",
"phoneNumber": "9891766469",
"cityCode": "DL"
}
],
"Email": [
{
"value": "smith@example.com"
}
]
}
]
}
}'OK - Successful Response - 200
The response of a Create Reservation (Reference or Full Payload), Sync Reservation, Modify/Add Reservation, Create/Modify Passive Reservation, Retrieve Reservation, or Cancel Reservation endpoint.
The structure detailed here is the same for all of these API responses. For Post-Commit Workbench Create and Workbench Retrieve the response is structured the same, plus a workbench identifier.
The information returned in the Reservation Retrieve response varies depending on the information that has been added to the reservation at the time of retrieve, whether the reservation has been ticketed, and whether the reservation was created using the Travelport TripServices APIs or another program.
Please note the requests for Workbench Commit (Create Reservation), Post-Commit Workbench Create, and Workbench Retrieve do not support the query parameters available in Reservation Retrieve and do not return the following:
- any document override, accounting, historical, and DOCI remarks
- any custom rules
- brand attributes
- baggage dimension and fee details
- fare rules
- ATPCO RouteHappy flight amenities
For Two-step Commit: In the initial booking workflow, or when adding an offer to an existing reservation, or during an exchange, you can send enableTwoStepCommitInd=true to enable a two-step commit process that returns a warning if specific error scenarios occur. See Two-step Commit in the Guides for more information. If a Two-step Commit is triggered, the booking is not created and the first commit response returns objects that may not return in a typical commit response payload. The payload varies based on the warning that triggered the Two-step Commit, and may include additional objects if seats or other ancillaries were added to the workbench. Because the booking was not committed, Result/status is 'Not Processed'. A descriptive error or warning is returned in Result/Error/Message or Result/Warning/Message. The response to a second commit that creates a booking uses the same structure as a Reservation Retrieve response.
{ "ReservationResponse": { "@type": "response", "transactionId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "traceId": "TraceID_123456", "correlationId": "49f58f5f-c443-43b4-9f5d-be405fd00a01", "reservationStatus": "Success", "Result": { "@type": "Result", "status": "Complete", "Error": [ … ], "Warning": [ … ] }, "Identifier": { "value": "A0656EFF-FAF4-456F-B061-0161008D7C4E", "authority": "TVPT" }, "NextSteps": { "baseURI": "www.travelport.com", "id": "5", "NextStep": [ … ] }, "ReferenceList": [ null ], "CurrencyRateConversion": [ { … } ], "Pagination": { "@type": "Pagination", "page": 1, "pageSize": 20, "totalPages": 5, "totalItems": 100 } } }