---
title: "POST /properties/{uuid}/reservations"
method: POST
path: "/properties/{uuid}/reservations"
---

# POST /properties/{uuid}/reservations

`POST /properties/{uuid}/reservations`

Create a pending reservation to lock in rates and availabilities for a specific property. This endpoint allows you to temporarily hold a reservation before confirming it, ensuring the rates and room availability are secured for a short period.

**Pending Reservation Workflow:**
1. Call this endpoint to create a pending reservation
2. The response includes a `bookingReferenceId` and `expiresInMinutes`
3. Complete payment collection from the guest
4. Call `/reservations/{bookingReferenceId}/confirmation` before expiration
5. If not confirmed within the expiration window, the reservation is automatically released

**Room Allocation Rules:**
- Maximum 10 rooms per reservation
- Each room must specify `roomRateUuid`, `adults`, and `children` count
- The `roomRateUuid` must correspond to a valid rate returned from property search endpoints
- Occupancy (`adults` + `children`) should not exceed the room type's maximum capacity
- Use `applyDeal` per room to selectively apply deal rates when a `dealCode` is specified

**Deal Application:**
- Set `dealCode` at the reservation level to apply a deal
- Use `applyDeal: true` for specific rooms to apply the deal rate to those rooms
- Rooms with `applyDeal: false` or `null` will use standard rates even if a deal code is specified
- This allows mixed bookings with both deal and non-deal rooms

## Path parameters

- `uuid` string, required

## Headers

- `x-sm-api-id` string, required
- `x-sm-api-key` string, required

## Request body

- object
  - `checkin` string, date, required — The arrival date. Must be within 500 days in the future and in the format yyyy-mm-dd.
  - `checkout` string, date, required — The departure date. Must be later than checkin. Must be between 1 and 30 days after checkin. Must be within 500 days in the future and in the format yyyy-mm-dd.
  - `dealCode` string, nullable — The code of any deal to be applied to the reservation. If null, no deal will be applied.
  - `netInvoicing` boolean — Indicates whether net invoicing should be applied to the reservation. When set to true, the commission is deducted from the booking amount, and the property receives the net amount (total minus commission).
  - `rooms` object[], required — An array of room bookings for this reservation. Minimum 1, maximum 10 rooms.
    - `roomRateUuid` string, required — The unique identifier for the specific room rate being booked.
    - `adults` integer, required — The number of adults for this room booking.
    - `children` integer, required — The number of children for this room booking.
    - `applyDeal` boolean, nullable — Indicates whether to apply the deal (if any) to this specific room booking.

## Response `200`

Successful response. A pending reservation has been created.

- object
  - `propertyUuid` string, required — The unique identifier of the property for which the reservation is made.
  - `propertyEmail` string — The contact email address for the property.
  - `propertyPhoneNumber` string, required — The contact phone number for the property.
  - `bookingReferenceId` string, required — The unique identifier for this pending reservation.
  - `expiresInMinutes` number, required — The number of minutes before the pending reservation expires and is no longer valid.
  - `currencyCode` string, required — The currency code for all monetary values in this response.
  - `paymentTotal` number, required — The total payment amount for the reservation, including all taxes and fees.
  - `paymentTotalLessCommission` number, required — The total payment amount minus the commission.
  - `taxes` object[] — An array of taxes applicable to this reservation.
    - `name` string, required — The name or type of the tax.
    - `amount` number, required — The amount of the tax.
  - `fees` object[] — An array of fees applicable to this reservation.
    - `name` string, required — The name or type of the fee.
    - `amount` number, required — The amount of the fee.
  - `rooms` object[], required — An array of rooms included in this reservation.
    - `roomUuid` string, required — The unique identifier for this specific room.
    - `roomTypeName` string, required — The name of the room type.
    - `roomRateUuid` string, required — The unique identifier for the rate plan applied to this room.
    - `adults` integer, required — The number of adults for this room.
    - `children` integer, required — The number of children for this room.
    - `paymentTotal` number, required — The total payment amount for this room.
    - `totalCommissionPercentage` number, required — The total commission percentage for this room booking.
    - `siteminderCommissionPercentage` number, required — SiteMinder's portion of the commission percentage for this room booking.
    - `channelCommissionPercentage` number, required — The channel partner's portion of the commission percentage for this room booking.
  - `licenses` object[] — An array of business licenses and permits applicable to this property or specific rooms. These may include hotel operating licenses, business registration numbers, or regulatory permits required in certain jurisdictions (e.g., Japan's inn operation licenses, Singapore hotel licenses). Display these to guests where legally required.
    - `licenseType` 'property' | 'room', required — Indicates whether the license applies to the entire property or to a specific room.
    - `licenseNumber` string, required — The official license or permit number issued by the regulatory authority.
    - `licenseIssueDate` string, required — The date when the license was issued, in YYYY-MM-DD format.
  - `cancellationPolicy` CancelationPolicy, required — Defines the cancellation policy for a reservation or rate. Policies can be either non-refundable or allow free cancellation up to a specified number of days before check-in.
    - `policyType` 'non-refundable' | 'free-cancellation', required — The type of cancellation policy. 'non-refundable' means no refund will be provided regardless of when cancellation occurs. 'free-cancellation' allows cancellation without penalty up to the specified number of days before check-in.
    - `freeCancellationUntilDays` number, nullable — Number of days before check-in when free cancellation is allowed. Only applicable when policyType is 'free-cancellation'. Null for non-refundable policies. For example, a value of 7 means guests can cancel up to 7 days before check-in without penalty.

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — The specified resource was not found
- `500` — Unexpected error occurred

---

[API](https://skmtc.net/siteminder/apis/pmsx-core-api.md) · [All operations](https://skmtc.net/siteminder/apis/pmsx-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/siteminder/pmsx-core-api/versions/4cf21cbc07ec/schema)
