v1

latestOpenAPI 3.0.32026-07-2632131.4 MB
Reservations Open Api [Beta]

Create a Reservation Without a Quote

Create a reservation without needing a quote. When the listing doesn't have an active rate plan assigned, a default rate plan is selected. Otherwise, the first active rate plan is selected.

post/reservations-v3

Request body

checkInDateLocalizedstring required

The reservation check-in date, localized to the property’s timezone (YYYY-MM-DD)

checkOutDateLocalizedstring required

The reservation check-out date, localized to the property’s timezone (YYYY-MM-DD)

listingIdstring required

The property’s ID as defined in Guesty

sourcestring required

Define the source for getting an updated price quote

status'confirmed' | 'reserved' | 'awaiting_payment' | 'inquiry' | 'canceled' | 'closed' | 'declined' | 'expired' required

Define the reservation status

guestIdstring

The primary ID for returning guests and new guests that were created beforehand

guestsCountnumber required

Number of guests to be included in the quote

couponCodestring

A single coupon code defined under the accounted Revenue Management settings

ratePlanIdstring

The ID of an active rate plan when you wish to apply it to the reservation

accommodationFarenumber

Override the accommodation fare with a fixed amount. Must be zero or greater. This will override the calculated nightly rates.

cleaningFeenumber

Add a cleaning fee with a fixed amount. Must be zero or greater.

applyPromotionsboolean

Apply account promotions setup (if toggled off (false), do not take promotions when creating a reservation)

ignoreCalendarboolean

The system will check calendar availability and decline (401) if unavailable unless this flag is set to true

ignoreTermsboolean

The system will ensure the reservation accords with the terms (min, max nights, any other terms) of the property and will decline(401) if it is. To override, set this flag to true

ignoreBlocksboolean

Set this flag to true to ignore existing flexible blocks (advance notice, preparation time, etc)

confirmedAtstring date-time

Define the confirmation date. If null and status is confirmed, use the current date. If null and status is not confirmed, leave it as null

bookingDatestring date-time

Real-world booking/creation date. Defaults to createdAt when omitted.

reservedUntil-1 | 0.5 | 0.25 | 0.17 | 12 | 24 | 36 | 48 | 72

It can be -1 (no limit), 0.17 (10 minutes), 0.25 (15 minutes), 0.5 (30 minutes), or 24/48/72 hours when the reservation is a booking request that reserves dates (i.e., status = “reserved”)

confirmationCodestring

Define the confirmation code

originstring

The origin of the reservation

originIdstring

The origin id of the reservation

Example request

{
  "checkInDateLocalized": "2024-01-01",
  "checkOutDateLocalized": "2024-01-02",
  "listingId": "5f92cbf10cf217478ba93561",
  "source": "manual",
  "status": "confirmed",
  "guestId": "5f92cbf10cf217478ba93532",
  "guest": {
    "firstName": "Joe",
    "lastName": "Black",
    "phones": [
      "+972-525180054",
      "+972-225146062"
    ],
    "email": "guest@email.com",
    "address": {
      "street": "1000 5th Ave",
      "zipCode": "10028",
      "city": "New York",
      "state": "New York",
      "country": "United States",
      "countryCode": "US"
    }
  },
  "guestsCount": 2,
  "numberOfGuests": {
    "numberOfAdults": 2,
    "numberOfChildren": 0,
    "numberOfInfants": 0,
    "numberOfPets": 0
  },
  "couponCode": "OOM20-DISCOUNT",
  "ratePlanId": "5f92cbf10cf217478ba93561",
  "accommodationFare": 250,
  "cleaningFee": 250,
  "ignoreCalendar": true,
  "ignoreTerms": true,
  "ignoreBlocks": true,
  "confirmedAt": "2024-07-06T09:12:06.574Z",
  "bookingDate": "2024-07-06T09:12:06.574Z",
  "reservedUntil": 36,
  "origin": "YourPorter",
  "originId": "external-id-example"
}

Response

Success

reservationIdstring required
quoteIdstring required
confirmationCodestring required
statusstring required
guestIdstring required
creationTimestring date-time required
bookingDatestring date-time required
reservedExpiresAtstring date-time required
checkInDatestring date-time required
checkOutDatestring date-time required
unitTypeIdstring required
unitIdstring required
sourcestring required
channelstring required
guestsCountnumber required
creationInfoobject required

Example response

{
  "numberOfGuests": {
    "numberOfChildren": 1,
    "numberOfInfants": 1,
    "numberOfPets": 1,
    "numberOfAdults": 1
  }
}