Supported PMS integrations
The flow is identical for all four - only the
integrationType in the validate URL and the pmsType in the booking payload change.
Prerequisite: the brand’s PMS connection is configured in the Way dashboard under Settings → Integrations (your Way representative helps set this up). You can check what a brand has connected with Get integrations.
1
Validate the guest's reservation
Before booking, verify the reservation exists and is chargeable with Validate room charge. It takes the guest’s last name plus the identifier they entered at checkout:All four PMS integrations accept a confirmation/reservation number or a room number as This call matters for two reasons: it confirms the reservation is in a chargeable status, and it returns the
reservationNumber (always paired with the last name), so a simple “room number + last name” checkout form works everywhere.reservationId the booking call needs. If the reservation can’t be found or isn’t chargeable, the response has no data - don’t proceed to booking; ask the guest to re-check their details or pay by card.The session being booked must fall between the reservation’s
arrivalDate and departureDate - Way can’t post charges to a folio for dates the guest isn’t staying.2
Create the booking with paymentMethod room-charge
Make the same Create a booking call as the card flow, but with The
paymentMethod: "room-charge" and a paymentDetail object carrying the validation results. Skip the payment intent entirely - there is no Stripe involvement.paymentDetail fields:Because no card confirmation is pending, the booking is
confirmed synchronously in the book-bulk response - no processing state, no webhook wait, and the guest gets their confirmation email immediately. Way posts the charge to the folio and records a note on the reservation with the Way confirmation code.3
Verify and handle failures
Verify exactly as in the card flow: Get bookings filtered by
cartConfirmationCode or cartId. Room-charge bookings carry paymentMethod: "room-charge" and the folio reference in their payment details.If book-bulk fails (folio rejected, reservation status changed between validate and book), rotate to a fresh cartId before retrying - same rule as the card flow. Refunds for cancelled room-charge bookings post back to the folio as negative charges.PMS-specific notes
Oracle OPERA Cloud
Oracle OPERA Cloud
Validate resolves the reservation by confirmation number, reservation code, external reference, or room number + last name (leading zeros tolerated). Way posts a fixed charge to the reservation - or a live billing charge when today is the departure date - and adds a reservation note with the booking details. Reservations designated as paying by credit card skip charge posting (the note is still added).
StayNTouch
StayNTouch
Validate resolves by reservation/confirmation number + last name (cancelled reservations excluded) or room number + last name, and additionally returns
arrivalTime and departureTime. Checked-out, no-show, and cancelled reservations are not chargeable.Infor HMS
Infor HMS
Validate runs a folio inquiry by last name + room number, confirmation number, or last name + CRS confirmation number. Charges post as an add-on item to the reservation (or directly to the folio on departure day). Checked-out, no-show, and cancelled folios are not chargeable.
Mews
Mews
Validate resolves by reservation number + last name or room number + last name; if the guest enters a UUID, it’s treated as the Mews reservation ID directly. Way adds an accounting item linked to the reservation, priced net or gross per the brand’s configuration.