v1

latestOpenAPI 3.0.02026-07-247251950.2 KB
Manage bookings

Complete a hard amendment (rebook)

Overview

Step 2 of 2 in the hard amendment flow. Use a prebookId produced by POST /bookings/{bookingId}/alternative-prebooks to create the replacement booking. On success, the new booking is created and the original booking is automatically cancelled — you do not need to call the cancel endpoint.

When to Use

  • After alternative-prebooks — Once the guest has chosen one of the alternative prebooks returned by POST /bookings/{bookingId}/alternative-prebooks.
  • Date or occupancy changes — The guest needs different check-in/check-out dates or a different number of adults/children at the same hotel.
  • Hard amendments only — For simple guest-name updates use PUT /bookings/{bookingId}/amend instead.

How It Works

  1. The provided prebookId is validated against the booking referenced by existingBookingId (it must have been produced by an alternative-prebooks call for that booking).
  2. The new booking is created with the supplier using the alternative rate.
  3. The original booking is then automatically cancelled. If the cancellation fails after the new booking is confirmed, the error is logged but the new booking is still returned — contact support to reconcile.

Payment

  • No payment is collected on this endpoint. The payment.method value is ignored — the request body must still include a payment object to satisfy the schema, but the server forces the method to NONE internally. Any price delta between the original and new rate is settled out of band.

Refundable vs Non-refundable Originals

  • Refundable original — Returns 200 OK with the new booking, and the original is cancelled immediately.
  • Non-refundable original — Returns 202 Accepted with a booking amendment record. The request is queued for the Nuitee operations team to handle manually (the original booking may incur cancellation fees).

Required Information

  • prebookId — A prebook session returned by POST /bookings/{bookingId}/alternative-prebooks.
  • existingBookingId — The bookingId of the original confirmed booking being replaced. Must match the bookingId that produced the prebook.
  • holder and guests — Same structure as POST /rates/book. If holder fields are empty they are copied from the original booking.

Quick Start

  1. Call POST /bookings/{bookingId}/alternative-prebooks and pick one of the returned prebookId values.
  2. Call this endpoint with that prebookId, the original bookingId as existingBookingId, and guest information.
  3. On success, the new booking is confirmed and the original is cancelled — no further calls are needed.
post/rates/rebook

Query parameters

timeoutinteger

Optional request timeout in seconds.

Request body

prebookIdstring required

A prebook session returned by POST /bookings/{bookingId}/alternative-prebooks. Must reference the same booking as existingBookingId.

existingBookingIdstring required

The bookingId of the confirmed booking being replaced. The original booking is cancelled automatically when the new booking is confirmed.

clientReferencestring

An optional client-defined reference ID. Acts as an idempotency key to prevent duplicate rebooks. If a booking already exists with the same client reference, the API will return a 4005 error.

trackingIdstring

Optional tracking ID for analytics or partner attribution.

customTagsobject

Optional bag of up to 5 user-defined key/value labels persisted with the booking. Keys must match ^[A-Z0-9_-]+$ and values are strings up to 255 characters. See POST /rates/book for the full description.

Response

Rebook completed. The original booking has been cancelled and a new confirmed booking has been created. Response shape matches POST /rates/book.

guestLevelinteger
sandboxboolean