Read Package component consumption
const url = 'https://api.aerandil.com/v1/object-types/hospitality.package_component_consumption/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.package_component_consumption/objects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'Read an existing instance.
Append-only ledger row tying a charge to a package_sale + package_component on a specific business date. Opera’s package_profit / package_loss reconciliation pattern, made queryable: per-night per-component the operator can see what was allowed, what was consumed, and the reconciliation outcome. Mutation of this row after insert is rejected — it is event-shaped, mirroring the event log’s append-only contract.
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
What the package allotted
object
What the guest actually consumed
object
How many of the stay’s entitled covers this row accounts for — the breakfast roster’s tick-off, or the covers of the check a room charge consumed it from. What the roster counts as taken. Absent on rows that are not a meal.
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.package_component_consumption", "properties": { "reconciliation_kind": "consumed" }, "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).