GuestReady Reservations API
The reservations API from GuestReady — 6 operation(s) for reservations.
The reservations API from GuestReady — 6 operation(s) for reservations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/guestready-reservations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: RentalReady Reservations API
version: 1.0.0 (api)
description: 'This API enables you to access and update resources from RentalReady (GuestReady PMS)
### Throttling
Our API supports up to 400 requests per minute
'
servers:
- url: https://pms.rentalready.io/api/v3/
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: reservations
paths:
/api/v3/reservations/:
get:
operationId: reservations_list
description: Mixin that adds custom-fields GET/POST actions to entity ViewSets.
parameters:
- in: query
name: checkin_date_after
schema:
type: string
format: date
- in: query
name: checkin_date_before
schema:
type: string
format: date
- in: query
name: checkout_date_after
schema:
type: string
format: date
- in: query
name: checkout_date_before
schema:
type: string
format: date
- in: query
name: created_after
schema:
type: string
format: date-time
- in: query
name: created_before
schema:
type: string
format: date-time
- name: cursor
required: false
in: query
description: 'Opt-in cursor pagination: pass an empty value to get the first page, then follow the `next` links. While paginating with a cursor, `offset` is ignored, the response contains no `count`, and only primary-key orderings are supported.'
schema:
type: string
- in: query
name: is_extension
schema:
type: boolean
- in: query
name: is_relocation
schema:
type: boolean
- name: limit
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: modified_after
schema:
type: string
format: date-time
- in: query
name: modified_before
schema:
type: string
format: date-time
- name: offset
required: false
in: query
description: The initial index from which to return the results.
schema:
type: integer
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
- in: query
name: reservation_type
schema:
type: string
- in: query
name: status
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- reservations
security:
- oauth2:
- reservations:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedReservationList'
description: ''
post:
operationId: reservations_create
description: Mixin that adds custom-fields GET/POST actions to entity ViewSets.
parameters:
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReservationCreate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ReservationCreate'
multipart/form-data:
schema:
$ref: '#/components/schemas/ReservationCreate'
required: true
security:
- oauth2:
- reservations:write
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ReservationCreate'
description: ''
/api/v3/reservations/{id}/:
get:
operationId: reservations_retrieve
description: Mixin that adds custom-fields GET/POST actions to entity ViewSets.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
security:
- oauth2:
- reservations:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Reservation'
description: ''
patch:
operationId: reservations_partial_update
description: Mixin that adds custom-fields GET/POST actions to entity ViewSets.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedReservationCreate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedReservationCreate'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedReservationCreate'
security:
- oauth2:
- reservations:write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReservationCreate'
description: ''
/api/v3/reservations/{id}/cancel/:
patch:
operationId: reservations_cancel_partial_update
description: Mixin that adds custom-fields GET/POST actions to entity ViewSets.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
security:
- oauth2:
- reservations:write
responses:
'200':
content:
application/json:
schema:
example:
message: Reservation cancelled
description: ''
/api/v3/reservations/{id}/custom_fields/:
get:
operationId: reservations_custom_fields_retrieve
description: Get the custom-field values set on this object, as a mapping of custom field key to value.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
security:
- oauth2:
- reservations:read
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Reservation'
description: ''
post:
operationId: reservations_custom_fields_create
description: Set custom-field values on this object. Send a mapping of custom field key to value; keys left out keep their current value, and a key with no definition on this account is rejected.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReservationCreate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ReservationCreate'
multipart/form-data:
schema:
$ref: '#/components/schemas/ReservationCreate'
required: true
security:
- oauth2:
- reservations:write
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReservationCreate'
description: ''
/api/v3/reservations/{id}/update_arrival_time/:
patch:
operationId: reservations_update_arrival_time_partial_update
description: 'Update the expected guest arrival time. The check-in mission is rescheduled and its assigned agent asked to re-confirm. No guest notification is sent: when late_checkin_payment_pending comes back true, the late check-in fee still has to be collected.'
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedReservationArrivalTimeUpdate'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedReservationArrivalTimeUpdate'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedReservationArrivalTimeUpdate'
security:
- oauth2:
- reservations:write
responses:
'200':
content:
application/json:
schema:
example:
message: reservation updated
arrival_time: '23:00:00'
late_checkin_payment_pending: true
description: ''
/api/v3/reservations/{id}/update_key_code/:
patch:
operationId: reservations_update_key_code_partial_update
description: Mixin that adds custom-fields GET/POST actions to entity ViewSets.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this reservation.
required: true
- in: query
name: rental_id
schema:
type: string
description: 'Multiple rental_id parameters are accepted. Example: rental_id=0000&rental_id=0001'
tags:
- reservations
requestBody:
content:
application/json:
schema:
type: object
properties:
key_code:
type: string
example: 1234abc
description: A string representing the key code.
required:
- key_code
security:
- oauth2:
- reservations:write
responses:
'200':
content:
application/json:
schema:
example:
message: key_code updated
description: ''
'400':
content:
application/json:
schema:
example:
message: invalid key_code
description: ''
components:
schemas:
Status3eaEnum:
enum:
- TENTATIVE
- NEW
- ARCHIVED
- CANCELLED
- CANCELLED_FEE
type: string
description: '* `TENTATIVE` - Tentative
* `NEW` - New
* `ARCHIVED` - Archived
* `CANCELLED` - Cancelled
* `CANCELLED_FEE` - Cancelled with fee'
SwiklyDepositEmbedded:
type: object
properties:
status:
allOf:
- $ref: '#/components/schemas/Status6f9Enum'
readOnly: true
description: 'Swikly security-deposit status. Possible values: `NOT_PAID` — not yet paid; `PAID` — paid.
* `NOT_PAID` - NOT_PAID
* `PAID` - PAID'
amount:
type: number
format: double
required:
- amount
- status
BlockedReasonEnum:
enum:
- HOST_STAY
- MAINTENANCE
- OTHER
- PARTIAL_OCCUPANCY
- FULL_OCCUPANCY
- BLOCKED_BY_HOST
- UPSELLING_REQUEST
type: string
description: '* `HOST_STAY` - Owner stay
* `MAINTENANCE` - Maintenance
* `OTHER` - Other
* `PARTIAL_OCCUPANCY` - Partially occupied
* `FULL_OCCUPANCY` - Fully occupied
* `BLOCKED_BY_HOST` - Blocked by owner
* `UPSELLING_REQUEST` - Upselling request'
Status1a4Enum:
enum:
- AUTHORIZED
- NOT_PAID
- PAID
- FAILED
- VOIDED
- PROCESSED
type: string
description: '* `AUTHORIZED` - Authorized
* `NOT_PAID` - Not paid
* `PAID` - Paid
* `FAILED` - Failed
* `VOIDED` - Voided
* `PROCESSED` - Processed'
PaidToEnum:
enum:
- HOST
- PROPERTY_MANAGER
type: string
description: '* `HOST` - Owner
* `PROPERTY_MANAGER` - Property manager'
PaginatedReservationList:
type: object
required:
- results
properties:
count:
type: integer
example: 123
description: Only present when paginating with `limit`/`offset`, not with `cursor`.
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?offset=400&limit=100
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?offset=200&limit=100
results:
type: array
items:
$ref: '#/components/schemas/Reservation'
limit:
type: integer
example: 100
description: Only present when paginating with `limit`/`offset`, not with `cursor`.
ReservationCreate:
type: object
properties:
guest_preferred_language:
type:
- string
- 'null'
currency:
oneOf:
- $ref: '#/components/schemas/CurrencyD53Enum'
- $ref: '#/components/schemas/BlankEnum'
payment_fee:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
description: 'Deprecated: any submitted value is ignored. The payment fee is computed from the platform/property-level rate configured in RentalReady.'
reservation_type:
allOf:
- $ref: '#/components/schemas/ReservationTypeEnum'
default: CLASSIQUE
check_in_internal_comment:
type: string
description: Visible to staff only
platform_reservation_id:
type:
- string
- 'null'
maxLength: 50
id:
type: integer
readOnly: true
rental_id:
type: string
description: Id of the property (rental) the reservation is for.
booked_at:
type: string
readOnly: true
description: Timestamp when the booking was originally placed on the source platform (ISO 8601, e.g. 2026-07-04T09:00:00Z); falls back to when the reservation was first created in the system.
reservation_platform_id:
type: integer
description: Id of the reservation platform (the booking channel) the reservation belongs to.
checkin_date:
type: string
format: date
description: Check-in date, the first night of the stay (YYYY-MM-DD).
checkout_date:
type: string
format: date
description: Check-out date, the day the guest leaves (YYYY-MM-DD); falls after the check-in date.
rental_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
platform_cleaning_fee:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
invoiced_cleaning_fee:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
platform_fee:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
guest_first_name:
type: string
maxLength: 90
guest_last_name:
type: string
maxLength: 150
guest_email:
type:
- string
- 'null'
format: email
maxLength: 254
guest_phone_number:
type: string
guest_personal_email:
type: string
arrival_time:
type: string
format: time
description: Expected guest arrival time on the check-in date (e.g. 15:00:00).
departure_time:
type: string
format: time
description: Expected guest departure time on the check-out date (e.g. 11:00:00).
number_of_adults:
type: integer
description: Number of adults staying on the reservation.
number_of_children:
type: integer
description: Number of children staying on the reservation.
number_of_infants:
type: integer
description: Number of infants staying on the reservation (at most 5).
number_of_pets:
type: integer
description: Number of pets on the reservation.
city_tax:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
status:
$ref: '#/components/schemas/Status3eaEnum'
is_stay_relocation:
type:
- boolean
- 'null'
title: Is this a stay relocation?
is_stay_extension:
type:
- boolean
- 'null'
title: Is this a stay extension?
blocked_reason:
oneOf:
- $ref: '#/components/schemas/BlockedReasonEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
blocked_notes:
type:
- string
- 'null'
internal_comment:
type: string
description: Visible to staff only
return_cleaning:
title: Owner return cleaning
oneOf:
- $ref: '#/components/schemas/ReturnCleaningEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
departure_cleaning:
title: Owner departure cleaning
oneOf:
- $ref: '#/components/schemas/DepartureCleaningEnum'
- $ref: '#/components/schemas/BlankEnum'
- $ref: '#/components/schemas/NullEnum'
platform_payment_fees:
type: string
readOnly: true
passport_number:
type:
- string
- 'null'
maxLength: 50
guest_invoice:
$ref: '#/components/schemas/GuestInvoice'
guidebook_url:
type:
- string
- 'null'
format: uri
maxLength: 200
user:
type: string
readOnly: true
required:
- booked_at
- checkin_date
- checkout_date
- city_tax
- guest_personal_email
- guest_phone_number
- id
- invoiced_cleaning_fee
- number_of_adults
- number_of_children
- platform_cleaning_fee
- platform_fee
- platform_payment_fees
- rental_amount
- rental_id
- reservation_platform_id
- user
MidTermPeriodBreakdown:
type: object
properties:
period_start_date:
type: string
format: date
period_end_date:
type: string
format: date
payment_due_date:
type: string
format: date
total_guest_payment:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
rental_income:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
platform_fees:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
city_tax:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
cleaning_fee_share:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
pm_commission:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
owner_net_payout:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
required:
- city_tax
- cleaning_fee_share
- owner_net_payout
- payment_due_date
- period_end_date
- period_start_date
- platform_fees
- pm_commission
- rental_income
- total_guest_payment
GuestInvoice:
type: object
properties:
email:
type:
- string
- 'null'
format: email
title: Recipient email
maxLength: 254
country_name:
type: string
readOnly: true
city:
type:
- string
- 'null'
maxLength: 50
name:
type:
- string
- 'null'
maxLength: 75
company:
type:
- string
- 'null'
title: Company name
maxLength: 255
tax_number:
type:
- string
- 'null'
maxLength: 255
address:
type:
- string
- 'null'
maxLength: 200
required:
- country_name
VoucherRedemption:
type: object
properties:
code:
type: string
voucher_amount:
type: string
format: decimal
pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
required:
- code
- voucher_amount
Reservation:
type: object
description: Renders custom-field values under `custom_fields`, skipped on list actions.
properties:
number:
type: string
description: Guest-facing booking reference generated by the system and shared with the guest, distinct from the platform's own reservation id.
created_at:
type: string
format: date-time
readOnly: true
description: Timestamp when the reservation record was created in the system (ISO 8601, e.g. 2026-07-04T09:00:00Z).
modified_at:
type: string
format: date-time
readOnly: true
description: Timestamp when the reservation was last modified (ISO 8601, e.g. 2026-07-04T09:00:00Z).
source:
type: string
description: Name of the platform (booking channel) the reservation came from, e.g. the connected OTA or a direct booking.
currency:
description: 'ISO 4217 currency code of the reservation''s monetary amounts, e.g. EUR.
* `AED` - AED
* `AUD` - AUD
* `BRL` - BRL
* `CAD` - CAD
* `CHF` - CHF
* `CZK` - CZK
* `EUR` - EUR
* `GBP` - GBP
* `HKD` - HKD
* `IDR` - IDR
* `ILS` - ILS
* `JPY` - JPY
* `KRW` - KRW
* `MAD` - MAD
* `MYR` - MYR
* `PLN` - PLN
* `RUB` - RUB
* `SAR` - SAR
* `THB` - THB
* `USD` - USD'
oneOf:
- $ref: '#/components/schemas/CurrencyD53Enum'
- $ref: '#/components/schemas/BlankEnum'
reservation_status:
allOf:
- $ref: '#/components/schemas/ReservationStatusEnum'
readOnly: true
description: 'Reservation lifecycle status. Possible values: `pending` — a tentative/held reservation (e.g. an unconfirmed manual quote hold); `accepted` — a confirmed booking; `cancelled` — a cancelled booking. Note: guest inquiries never appear here. An inquiry is not a reservation — read inquiry state from the inquiries endpoint or a conversation''s `inquiry_ids`. A reservation (and therefore this field) only exists once a booking is confirmed or created as an internal tentative hold.
* `pending` - pending
* `accepted` - accepted
* `cancelled` - cancelled'
reservation_type:
allOf:
- $ref: '#/components/schemas/ReservationTypeEnum'
readOnly: true
description: 'Kind of reservation, distinguishing a real guest booking from an owner (blocking) stay or a placeholder booking.
* `CLASSIQUE` - CLASSIQUE
* `FAUSSE` - FAUSSE
* `PROPRIETAIRE` - PROPRIETAIRE'
is_owner:
type: boolean
description: True when the reservation is an owner stay that blocks the property for the owner's own use rather than a paying guest booking.
property_manager_commission:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
pms_fee:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
payment_fee:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
guest_preferred_language:
type: string
description: Name of the guest's preferred language, e.g. English.
total_paid_by_guest:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
payment_links_deposits:
type: array
items:
$ref: '#/components/schemas/PaymentLinkSecurityDeposit'
readOnly: true
description: This field is deprecated and will be removed in the v4. Use the payment_links endpoint instead.
swikly_deposit:
allOf:
- $ref: '#/components/schemas/SwiklyDepositEmbedded'
readOnly: true
description: This field is deprecated and will be removed in the v4. Use the swikly_deposits endpoint instead.
keynest_code:
type:
- string
- 'null'
readOnly: true
description: KeyNest collection code for the check-in, or null if none.
keynest_access_link:
type:
- string
- 'null'
readOnly: true
description: KeyNest access link for the check-in, or null if none.
igloohome_code:
type:
- string
- 'null'
readOnly: true
description: Igloohome lock code for the check-in, or null if none.
key_code:
type: string
cancellation_date:
type:
- string
- 'null'
format: date-time
description: Timestamp when the reservation was cancelled (ISO 8601, e.g. 2026-07-04T09:00:00Z); set once a cancellation takes place.
guest_reservation_id:
type: string
description: Guest-facing booking reference; the same value as `number`.
platform_reservation_id:
type: string
description: Identifier of the reservation on the external booking platform, as assigned by that platform.
cleaning_internal_comment:
type: string
description: Cleaning note for the reservation, visible to staff only.
cleaning_external_comment:
type: string
description: Cleaning note for the reservation, visible to staff and the assigned agent.
check_in_internal_comment:
type: string
description: Check-in note for the reservation, visible to staff only.
check_in_external_comment:
type: string
description: Check-in note for the reservation, visible to staff and the assigned agent.
check_out_internal_comment:
type: string
description: Check-out note for the reservation, visible to staff only.
check_out_external_comment:
type: string
description: Check-out note for the reservation, visible to staff and the assigned agent.
is_stay_extension:
type:
- boolean
- 'null'
title: Is this a stay extension?
description: Flag marking the reservation as an extension of an earlier stay.
relocated_from_id:
type: integer
description: Id of the reservation this one was relocated from, when the stay was moved over from another property.
voucher_redemption:
type: array
items:
$ref: '#/components/schemas/VoucherRedemption'
readOnly: true
branch_name:
type: string
description: Name of the branch the reservation's office belongs to.
office_name:
type: string
description: Name of the office managing the reservation's property.
owner_net_earnings:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
guest_total_to_pay:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,2})?$
readOnly: true
title: Total to pay
description: Total amount to be paid by the guest.
extra_fees:
type: array
items:
$ref: '#/components/schemas/ReservationExtraFee'
id_verification_status:
allOf:
- $ref: '#/components/schemas/IdVerificationStatusEnum'
readOnly: true
description: 'Status of the guest''s identity verification: not verified, pending, verified, or failed.
* `NOT_VERIFIED` - NOT_VERIFIED
* `PENDING` - PENDING
* `VERIFIED` - VERIFIED
* `FAILED` - FAILED'
reviewed_by:
type: string
readOnly: true
description: Username of the staff member who reviewed the guest's identity document.
rate_plan_name:
type:
- string
- 'null'
description: Name of the rate plan applied to the reservation; rate_plan_display_name gives its human-friendly label.
maxLength: 255
rate_plan_display_name:
type: string
readOnly: true
description: Human-friendly display name of the rate plan applied to the reservation.
mid_term_period_breakdown:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/MidTermPeriodBreakdown'
readOnly: true
description: Per-period rent breakdown for a mid-term stay, or null when the reservation is not mid-term.
id:
type: integer
readOnly: true
description: Id of the reservation (booking) in the system.
rental_id:
type: string
description: Id of the property (rental) the reservation is for.
booked_at:
type: string
readOnly: true
description: Timestamp when the booking was originally placed on the source platform (ISO 8601, e.g. 2026-07-04T09:00:00Z); falls back to when the reservation was first created in the system.
reservation_platform_id:
type: integer
description: Id of the reservation platform (the booking channel) the reservation belongs to.
checkin_date:
type: string
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/guestready/refs/heads/main/openapi/guestready-reservations-api-openapi.yml