For the complete documentation index, see llms.txt. This page is also available as Markdown.

Lock Reservation

API: Channels Plus · Operation: Reservations · Direction: Channel → SM · Method: Push (Channel-initiated)

post

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
uuidstringRequired

The unique identifier of the property for which the reservation is being made

Header parameters
x-sm-api-idstringRequired

The api id for channel

x-sm-api-keystringRequired

The api key for channel

Body
checkinstring · dateRequired

The arrival date. Must be within 500 days in the future and in the format yyyy-mm-dd.

checkoutstring · dateRequired

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.

dealCodestring · nullableOptional

The code of any deal to be applied to the reservation. If null, no deal will be applied.

netInvoicingbooleanOptional

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).

Default: false
Responses
200

Successful response. A pending reservation has been created.

application/json
post/properties/{uuid}/reservations
POST /properties/{uuid}/reservations HTTP/1.1
x-sm-api-id: text
x-sm-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 162

{
  "checkin": "2026-01-01",
  "checkout": "2026-01-01",
  "dealCode": "text",
  "netInvoicing": false,
  "rooms": [
    {
      "roomRateUuid": "text",
      "adults": 1,
      "children": 1,
      "applyDeal": true
    }
  ]
}
{
  "propertyUuid": "text",
  "propertyEmail": "text",
  "propertyPhoneNumber": "text",
  "bookingReferenceId": "text",
  "expiresInMinutes": 1,
  "currencyCode": "text",
  "paymentTotal": 1,
  "paymentTotalLessCommission": 1,
  "taxes": [
    {
      "name": "text",
      "amount": 1
    }
  ],
  "fees": [
    {
      "name": "text",
      "amount": 1
    }
  ],
  "rooms": [],
  "licenses": [
    {
      "licenseType": "property",
      "licenseNumber": "text",
      "licenseIssueDate": "text"
    }
  ],
  "cancellationPolicy": {
    "policyType": "non-refundable",
    "freeCancellationUntilDays": 1
  }
}

sparkles

Still have questions?

Last updated

Was this helpful?