Skip to main content

Plus Channel Booking

How bookings are held, confirmed, modified, and cancelled on Plus channels. ONDA and the vendor each validate at every step.

All booking endpoints are vendor APIs (ONDA → vendor), so the vendor implements them as a server.

Step by step

  1. Look up the refund policy in advanceGET .../rateplans/{vendor_rateplan_id}/refund_policy
  2. Create a held bookingPOST /bookings (validated, then availability is decremented)
  3. Confirm the bookingPUT /bookings/{vendor_booking_number}/confirm
  4. Modify the bookingPUT /bookings/{vendor_booking_number}/modify (soft changes only)
  5. Cancel the bookingPOST /bookings/{vendor_booking_number}/cancel
  6. Re-send availabilityPOST .../ari/avails

Checklist

  • Validate at each step — hold, confirm, cancel — against availability, rates, sales status, and business days
  • Implement automatic cancellation (and availability restore) when confirm is not called within 15 minutes of the hold
  • Create the vendor-side booking against gds_sub_booking_number
  • Return the per-date refund policy just before booking
  • Re-send changed availability after confirmation (POST .../ari/avails)
  • Use only overnight as the booking type
  • Allow only soft changes on modify — define how to reject or handle hard change requests
  • Send booking vouchers (confirmation and cancellation) directly to the property
modify on Plus channels allows soft changes only

Only metadata changes such as booker and guest details are possible. Hard changes — changing stay dates or the booked room — are not allowed on Plus channels; handle them by cancelling and rebooking. (Direct channels do allow hard changes.)

Automatic cancellation — 15-minute timeout

If confirmation is not called within 15 minutes of creating the held booking, the hold is cancelled automatically and availability is restored.

Key fields

FieldEndpointDescription
payment_typePOST /bookings, confirm responseOn Plus channels this is always prepayment. paid_amount has been removed.
net_pricePOST /bookings, modify requestSettlement amount after fees — what will be paid out
canceled_bycancel requestWho cancelled — user, admin, channel, or system
memocancel requestCancellation reason or note. When a channel administrator cancels, the reason arrives together with canceled_by=channel
typePOST /bookings requestOnly overnight is used
Fields Plus channels do not use

These exist in the spec but are never sent for Plus channel bookings. You do not need to implement them.

  • visit_type — arrival method. Used only by some direct channels that support day-use
  • secondary_channel — the secondary channeling route. Sent only by some legacy channels that support it

For how booking numbers are structured, see Common · Overview. Always create the vendor-side booking against gds_sub_booking_number.

Endpoints

All of these are vendor APIs (ONDA → vendor).

MethodPathDescription
GET.../rateplans/{vendor_rateplan_id}/refund_policyLook up the cancellation and refund policy in advance
POST/bookingsCreate a held booking (decrements availability)
PUT/bookings/{vendor_booking_number}/confirmConfirm the booking
PUT/bookings/{vendor_booking_number}/modifyModify the booking (soft changes only)
POST/bookings/{vendor_booking_number}/cancelCancel the booking

To read ONDA's booking data, the vendor uses the HUB APIs GET /gds/vendor/bookinglist and GET /gds/vendor/booking/{vendor_booking_number}.