Skip to content

Search Function event

POST
/v1/object-types/hospitality.function_event/search
curl --request POST \
--url https://api.aerandil.com/v1/object-types/hospitality.function_event/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "branch": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "cursor": "example", "filters": [ { "property": "id", "type": "eq", "value": "example" } ], "limit": 1, "order": "asc", "property_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "scope": { "level": "tenant" }, "sort_by": "created_at" }'

Search for instances. Filters eq, contains, gte and lte AND-compose; or / not are additive follow-ups. Pages with an opaque cursor; the +1 fetch returns has_more without a second round-trip. Ordered by sort_by (default created_at) in order (default ascending), id breaking ties; rows with no value for a property key sort last.

One booked use of a function space — a meeting, a reception, a dinner — on a date, in a window, in a setup style, with the expected / guaranteed / set / actual attendance. tentative holds the diary and commits nothing; definite is contracted; actual is recorded after the function with the attendance the banquet charges bill on; cancelled is terminal. The events of a group hang off its block through function_event_for_block.

Media typeapplication/json
object
branch

Optional open-branch id. Search composes that branch’s copy-on-first-write overlay instead of main, so a preview reads its own hypothetical writes. Omit to read main.

string format: uuid
cursor

Opaque cursor from a prior response’s next_cursor. Pass back verbatim; do not introspect.

string
filters

Conjunctive list of predicates. Empty or omitted matches every row in scope, capped by limit.

Array
One of:
object
property
required
Allowed value: id
type
required
Allowed value: eq
value
required
string
limit

Page size. Server defaults to 50, silently clamps at 500 (AIP-158 §3).

integer
>= 1 <= 500
order

Direction of sort_by: asc (oldest / smallest first) or desc. A cursor is bound to the sort_by and order it was minted under; another pair is refused (422).

string
default: asc
Allowed values: asc desc
property_id

The house a desk stands in: keeps this property’s rows (property- or venue-scoped there) and every row scoped to no property (tenant, brand, portfolio), and drops a sibling house’s — the meaning property_id has on the event tail.

string format: uuid
scope
One of: discriminator: level
object
level
required
string
Allowed value: tenant
Allowed values: tenant
sort_by

What the page is ordered by: the row’s created_at or updated_at, or a property whose type orders — strings, enums and dates as text, ints, decimals and durations as numbers, datetimes as instants. Rows with no value sort last in either direction. A property the caller is not cleared to read is refused (403).

string
default: created_at
Allowed values: created_at updated_at id name event_type status event_date start_at end_at setup_from teardown_until setup_style expected_count guaranteed_count guarantee_due_at set_count actual_count notes

Search results, ordered by (sort_by, id) in the requested order (ascending by default).

Media typeapplication/json
object
data
required
Array<object>
object
created_at
required
string format: date-time
id
required
string format: uuid
object_type
required
Allowed value: hospitality.function_event
properties
required
object
actual_count
Actual attendance, recorded after the function
integer
do_not_move
required
The client was promised this room; reschedule refuses a space change
boolean
end_at
required
Doors close
string format: date-time
event_date
required
The property-local day the event is on
string format: date
event_type
required
What kind of function
string
Allowed values: meeting conference breakout reception breakfast lunch dinner banquet wedding_ceremony wedding_breakfast exhibition rehearsal other
expected_count
required
Expected attendance (the forecast number)
integer
guarantee_due_at
When the guarantee is due; after it the number may only rise
string format: date-time
guaranteed_count
Guaranteed attendance — the contracted minimum the client bills on
integer
id
required
Event id
string
name
required
Event name
string
notes
Notes for the operating departments
string
rental
Function event rental

Function space rental agreed for the event

object
amount
required
string format: decimal
currency
required
string format: iso-4217
set_count
How many the room was set for
integer
setup_from
When the setup crew may have the room (before start_at)
string format: date-time
setup_style
required
How the room is set
string
Allowed values: theatre classroom boardroom u_shape hollow_square banquet_rounds cabaret reception exhibition existing
start_at
required
Doors open
string format: date-time
status
required
Event status
string
Allowed values: tentative definite actual cancelled
teardown_until
When the room must be clear again (after end_at)
string format: date-time
provenance

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
pins
object
key
additional properties
object
pinned_at
string format: date-time
pinned_by
object
reason
required
string
properties
object
key
additional properties
object
external_id
string
recorded_at
required
string format: date-time
source
required
string
source_updated_at
string format: date-time
stream
string
scope
required
One of: discriminator: level
object
level
required
string
Allowed value: tenant
Allowed values: tenant
tenant_id
required
string format: uuid
updated_at
required
string format: date-time
version
required
integer
>= 1
has_more
required
boolean
next_cursor

Cursor for the next page; omitted when the result set is exhausted.

string
Example
{
"data": [
{
"object_type": "hospitality.function_event",
"properties": {
"event_type": "meeting",
"setup_style": "theatre",
"status": "tentative"
},
"scope": {
"level": "tenant"
}
}
]
}

Validation error — unknown property or filter type mismatch.