Reservations

Create or Update Reservation

Accept a reservation create/update request from an external system and queue it for asynchronous processing. A 201 response with { "ok": true } means the request was accepted. If the unit cannot be resolved during processing, Sakneen still creates or updates the reservation without a local unit link. Other processing failures are tracked internally by Sakneen's Google Cloud Tasks-backed queue ledger and operational notifications.

post/external/apis/v1.0/reservations

Request

  • Base URL
    https://your-assigned-api-host.invalid
  • Auth
    API key in header api-key

Headers

Content-Typestring required
languagestring

Optional language preference.

Request body

recordSystemIdstring required

Unique reservation identifier from the external system. Used as the upsert key.

unitRecordSystemIdstring required

External unit identifier. Sakneen resolves this against the unit's recordSystemId when the unit exists.

statusstring required

External status string. Organization-specific mappings apply; an unmapped value is retained as supplied.

fullNamestring

Customer full name

phoneNumberstring

Customer phone number

emailstring email

Customer email address

nationalIDstring

Customer national ID

crmIDstring

External CRM identifier

reservationAmountnumber

Reservation amount

expiryDatestring date-time

Reservation expiry date

crmOpportunityIdstring

External CRM opportunity identifier

salesPersonEmailstring email

Email address of the Sakneen sales person to attach to the reservation

reservationDataobject

Additional reservation fields to map into the organization's reservation form when configured

Example request

{
  "recordSystemId": "RES-001",
  "unitRecordSystemId": "UNIT-001",
  "status": "approved",
  "fullName": "Palm Hills Client",
  "phoneNumber": "+201001234567",
  "email": "client@example.com",
  "reservationAmount": 150000,
  "crmOpportunityId": "OPP-456",
  "salesPersonEmail": "sales@example.com",
  "reservationData": {
    "paymentPlan": "5 years",
    "source": "external-crm"
  }
}

Response

Work accepted for asynchronous processing. This response does not mean processing has completed.

okboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.