Experience the difference of "Elite".

Getting Started

Core Concepts

Overview

Bookings & Quotes

Damage Protection

Data Management

Deposits

Email Template Library

Fields

Guests

Integrations

Listing Site Integration

Messaging

My Account

Payment Processing

Privacy & Security

Properties

Property Management

Quotes

Rates

Renter Agreements

Reporting

Reviews

Rules

Security Deposits

Suppressed Email Addresses

Tags

Taxes

Team Access

Technical Stuff

Travel Insurance

Triggers

Verified Email Domains

Channel Management

Channel Management

API Integrations

Calendar Import/Export

Channel Bridge

Integrations

OwnerRez APIs

Payment Processing

Testing

Websites

Change Log

2024

2023

2022

2021

2020

2019

Staff Reference

API for Apps - 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).

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.