F&B room lookup
const url = 'https://api.aerandil.com/v1/functions/hospitality.function.fnb_room_lookup/invoke';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"params":{"query":"example"},"target":{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","object_type":"hospitality.property"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.aerandil.com/v1/functions/hospitality.function.fnb_room_lookup/invoke \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "params": { "query": "example" }, "target": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "object_type": "hospitality.property" } }'The in-house stays a room charge can post to — OHIP’s in-house search by room or surname, at the target property. query is a room number (an exact match, case-insensitive) or at least three letters of the guest’s surname (a prefix) — Simphony’s restricted posting: a shorter query matches room numbers only, and an empty one is refused, so the read never lists the house. At most ten stays come back (truncated says when there were more). Per in-house stay: how it matched (matched_by: room or surname), its reservation and confirmation number, the room it is in, the guest (guest_id, guest_name) and the stay’s open guest folios with their number and window; on a room match also sharers — the other guests in house in that room, each with their guest_id, name and reservation (each signs on their own booking), empty on a surname match. And the stay’s posting rules, so the till warns before the tender is chosen: no_post (the desk’s set_posting_rules — a room charge is refused) and credit_available — the greater of the stay’s credit limit and its live card holds, less its bills’ balance and the room still due for the nights to come (a money; null when no credit rule applies: no limit and no hold). Names only, never contact details. Ordered by room, then guest. Guest names are personal data: a reader not cleared for them gets the rows without them. Read-only.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
object
object
Responses
Section titled “Responses”Function invoked. The body carries the typed return_value shaped by the function’s declared return_type.
Envelope returned by the Aerandil function engine. correlation_id is the per-invocation id for trace stitching; return_value is the typed value the function computed (shape declared by the function’s return_type).
object
Per-invocation correlation id; appears on log/trace records this function emitted.
object
object
object
object
object
Example
{ "return_value": { "stays": [ { "matched_by": "room" } ] }}Headers
Section titled “Headers”Always no-store — function results are time-sensitive and never cacheable.
Function or target object not found.
Parameter validation or domain-rule violation.