Read Property
const url = 'https://api.aerandil.com/v1/object-types/hospitality.property/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.aerandil.com/v1/object-types/hospitality.property/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'Read an existing instance.
A single operated site — a hotel or resort, or a non-lodging business run on the same substrate (a standalone day spa). The property is the canonical home of most operational data and the anchor for local timezone, currency, and brand standards.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Object id (UUID v7, server-generated at create time).
Query Parameters
Section titled “Query Parameters”Read through an open branch’s copy-on-first-write overlay view instead of the canonical (main) plane. Does not compose with as_of (422). The branch must exist under the caller’s tenant.
Responses
Section titled “Responses”Object found.
object
object
Address
object
Who this property is, legally, on a document it issues. Absent until an operator fills it in, and issue_invoice refuses without it — a tax invoice with no supplier registration number is not one. Snapshotted onto every invoice at issue, so editing this never rewrites a document already handed over.
object
object
object
object
When the open business date was opened. A posting stamped before this instant belongs to an earlier day and is dated by the property-local calendar instead.
The smallest excess worth a top-up — the bill less what is held plus the rule’s allowance
object
object
The business date this property has open — the hotel date a posting made now is dated to. Written by open_business_date and the night audit’s close; unset while no day is open.
When true, a payment request’s pay link is sent to the booking’s guest — by email, or by SMS when the profile holds no email — as soon as the card rail has minted it. Unset: off, and the desk sends the link itself.
What the pay page tells the guest about keeping their card (Stripe’s submit-button text, at most 1,200 characters): that the house may charge it without them present, for what, when and how often, and how each amount is set — the terms Stripe requires for a merchant-initiated charge. Set with set_payment_request_messaging. Unset: the card rail’s default wording.
How many business days after departure a charge found later (the minibar, damage, laundry) may still be posted to the departed stay’s bill and taken from its card. On (1–14), check-out keeps the stay’s largest card hold and releases the rest, and the window closes at the house’s midnight after its last day — 1 is OPERA’s “until the end of the business date”. Off (0 or unset), check-out releases every hold. Set with set_post_stay_charging.
How many minutes before its due time a housekeeping request reads as soon on the housekeeping_requests read (and on the handset’s card). Unset: 30. Between 1 and 720. Set through set_request_urgency_window.
When true, a charge or hold the card rail tried with the guest absent that the issuer will only complete with the cardholder sends the guest a page to confirm it on (email first, else SMS, under the service-message consent gate), reminds them before the deadline, and tells the house when the deadline passes. Unset: off — the state and its deadline are still recorded and the desk sends the page itself. Set with set_sca_chase.
The house’s deadline for a pending authentication, in hours from the moment the issuer asked (1–168). Unset: 24.
How many reminders go to the guest before the deadline, spread evenly across it (0–3; 1 is one at half-time). Unset: 1.
How many days past a stay’s arrival night the night audit keeps the booking engine’s visitor key on its offers, turnaways and reservation before stripping it; the records themselves stay. Unset: 30. At most 365.
The start of the link a waitlist offer carries; the offer’s claim token is appended as a path segment. Point it at the kernel’s own claim page (https://<kernel>/v1/waitlist-claims/) or at a booking site that calls the claim route. An https URL ending in /, with no query or fragment (plain http only to a loopback dev host). Unset: the offer goes out without a link and asks the guest to call.
How many minutes a waitlist offer — the desk’s or the matcher’s — keeps its room-nights before they are given back and offered to the next entry. Unset: 30. Between 1 and 1440 (OPERA’s room-hold range).
When true, every waitlist offer — the desk’s or the matcher’s — is sent to the guest by SMS (or email when the profile holds no phone), with a link to claim it. Unset: off.
Per-property source attribution and pins. An entry under properties means the property’s current value came from that source (on the source’s own clock, source_updated_at); an entry under pins is a human override protecting the property from sourced writes.
object
object
object
object
object
object
object
object
object
object
object
Example
{ "object_type": "hospitality.property", "properties": { "billing_identity": { "tax_registration_scheme": "vat" }, "credit_limit_overage": "off", "fnb_open_checks_at_roll": "carry", "kind": "hotel", "positioning": "luxury" }, "scope": { "level": "tenant" }}Headers
Section titled “Headers”Quoted strong validator (RFC 7232 §2.3) carrying the object’s monotonic version. Informational on the read path — object mutation goes through typed actions on /v1/actions/{action}/apply, not raw CRUD.
No object with that id (or soft-deleted).