Skip to content

Modify existing hotel reservation.

Request

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.

Security
bearerAuth
Path
Identifierstring, <= 128 charactersrequired

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.

Query
acceptPriceChangeIndboolean

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.

acceptGuaranteeChangeIndboolean

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.

maximumPriceIncreasenumber, (float)

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.

Example:maximumPriceIncrease=1.5
applyStrictReservationCommentValidationIndboolean

If true, the user expects that the sell request will be failed if any of the requested reservation comments fail. If indicator is not sent the service will default to false.

Headers
TraceIdstring, [ 10 .. 89 ] characters(^[a-zA-Z-0-9_]*[-]?[+]?$)

Used in hospitality workflows to provide a Unique transaction or tracking id for a single request and response.

Example:TraceID_123456789
XAUTH_TRAVELPORT_ACCESSGROUPstring, = 36 characters([a-zA-Z-0-9-_]*)

Identifies the Travelport access group with which the caller is associated

Example:19Y88702-C27A-4E5D-829A-89D7016688B1
TVP-PCC-Corestring^[a-zA-Z\d]{3,4}_\w{2}$

Allows user to pass PCC instead of Access Group ID

Example:DU7_1G
TVP-Correlation-Idstring, (uuid)

Identifier used to correlate hotel API invocations across a multi-call business flows.

Example:382c74c3-721d-4f34-80e5-57657b6cbc27
Bodyapplication/jsonrequired
ReservationDetailobject(ReservationDetail)
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"
            }
          ]
        }
      ]
    }
  }'

Responses

OK - Successful Response - 200

Bodyapplication/json
ReservationResponseobject(ReservationResponse)

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.

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