Creating Quotes and Bookings

Currently, bookings can only be directly created via the Channel API. The App API can't directly create bookings since that requires collection of credit card data. Instead, create a quote and send the guest the payment form link to complete the reservation process and the credit card data will be collected via the standard reservation process.

Pricing and quoting

If you want to calculate and display availability and rates on your own, you can use the availability and pricing endpoints to access that information.

If you want to run a test quote using the OwnerRez pricing engine, use the TEST verb to the quotes endpoint (required fields are PropertyId, Arrival, Departure, Adults, Children, Pets). This will validate the quote (unless you pass the skipRuleValidation or ignoreDateConflicts) and generate quote and charges, but return them only (rather than saving a quote in the user's account).

These are currently not upgraded to the v2 API yet, so use the v1.1 versions for the moment.

Creating the booking

There are two ways to do this. You can embed the booking widget on your site and let it manage the quote creation and guest redirect process, or you can use the API to create a guest and quote, retrieve the quote payment form link, and then redirect the guest to that URL yourself to complete the reservation process.

Use the booking widget

This is the simple way to implement bookings on a custom site, as no development is necessary. Create a booking widget and embed it on your site.

You can find more details in our Widgets Configuration support article.

Create a quote via API and get a payment form link for booking

This is a three (or four) step process. This is the same process as followed with a manually created direct booking, but automated via the API.

First, create a guest and get the guest id. Or if the guest has booked before, you can use an existing guest id. Next, create a quote for that guest, which will return a payment form URL. Finally, redirect the guest to that URL to complete the booking process. And optionally, you can define a post booking redirect URL so the guest will be sent back to your site after booking.

1) Create a guest

To create a guest, POST to the guests endpoint. No fields are required, so populate as much information as you have. The guest will be able to provide any missing contact information or adjust later on during the reservation process.

This will return the fields for the created guest including the id.

2) Create a quote

To create a quote, POST to the quotes endpoint (required fields are GuestId, PropertyId, Arrival, Departure, Adults, Children, Pets) -- example values used:

POST https://app.ownerrez.com/api/quotes
{
  "GuestId": 1234,

  "PropertyId": 5678,
  "Arrival": "2024-12-10",
  "Departure": "2024-12-15",
  "Adults": 5,
  "Children": 2,
  "Pets": 0
}

This will return the fields for the created quote including the PaymentForm. This is the URL to complete booking for the quote.

3) Redirect the guest to complete the booking

Direct the guest to the payment form link, either by a browser redirect, link, button, sending them an email, etc. A booking will be created when the guest completes the reservation process. Any system messages, triggers, etc. will be sent just the same as for a direct booking.

4) Post booking redirect (optional)

If you want, you can configure a post booking redirect so that the guest is sent back to your site after the booking is completed. There are two ways to configure this:

  1. To configure the same URL for all bookings, go to the Rules section of each property and configure the Redirect After Booking URL setting.

  2. To configure a different URL for each booking, pass the RedirectAfterBookingUrl field when creating a quote. This will set a specific redirect after booking URL for that particular quote.