Stays
Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.
Staystay
A hotel, rental, or friend's-place reservation.
stays_queryStaysDashboardFindthrough vritto_findList all non-archived stays with derived status/nights and trip links. Rows are compact summaries plus headline counts; pass detail 'full' only when the user needs confirmation codes, arrival details, costs, or notes. Use for any lodging question. Do not call this just to fetch an ID for a write.
| Field | Type | Description |
|---|---|---|
| detail | one of summary, full | Response shape: "summary" (default, headline counts + compact stay rows) or "full" (every field incl. confirmation codes, arrivalDetails, costs, and notes). |
stays_upsertStayCreate or Updatethrough vritto_create or vritto_updateCreate or update one lodging reservation. Omit record.id to create (name + checkInDate + checkOutDate required); include a real record.id to update, sent fields merge. freeCancelUntil must be user-confirmed.
| Field | Type | Description |
|---|---|---|
| record* | object | Stay fields; name + checkInDate + checkOutDate required when creating. |
| record.id | string | Existing stay ID to update. Omit to create. |
| record.source | one of manual, gmail, sahai, bank | Where this came from. Leave unset for a manual entry. |
| record.name | string | Property or place name. Required when creating. |
| record.kind | one of hotel, rental, hostel, friends_family, other | Defaults to 'hotel'. |
| record.brandName | string | Hotel chain/brand; the server resolves a logo. |
| record.address | string | |
| record.checkInDate | string | Required when creating. |
| record.checkOutDate | string | Required when creating. |
| record.checkInTime | string | Local wall time, e.g. '15:00'. |
| record.checkOutTime | string | |
| record.timezone | string | Property's IANA zone when known. |
| record.confirmationCode | string | |
| record.roomNumber | string | Room/unit number, e.g. '1207', often assigned at check-in. |
| record.bookingSource | string | e.g. 'Booking.com', 'Airbnb', 'direct'. |
| record.placeKey | string | Places atlas key of the property when known, links the stay into the Places graph; else omit. |
| record.costAmount | number | Total stay cost. |
| record.costCurrency | string | |
| record.costStatus | one of paid, estimated | Defaults to 'paid'. Set 'estimated' whenever the amount is a quote, guess, or not-yet-charged total, e.g. free-cancellation bookings before checkout or 'it'll be around $600'. |
| record.arrivalDetails | object | Arrival info. Providing this object REPLACES all four fields, read the stay first and send back every value you want kept. |
| record.guestPersonIds | list of string | People IDs of others staying too (resolve via the People module). |
| record.freeCancelUntil | string | Free-cancellation deadline as ISO WITH offset. ALWAYS confirm this with the user before setting, it drives a reminder and must never be silently assumed from a policy text. |
| record.hostPersonId | string | People ID of the host (friends_family only). |
| record.tripId | string | Trip this stay belongs to (resolve via trips_queryTripsDashboard). |
| record.canceled | boolean | |
| record.notes | string |
Example input
{
"record": {
"name": "Hotel Okura",
"kind": "hotel",
"checkInDate": "2026-11-03",
"checkOutDate": "2026-11-08",
"confirmationCode": "OK-55821",
"costAmount": 1480,
"costCurrency": "USD"
}
}stays_rateStayUpdatethrough vritto_updateRate a completed stay 1–5 with an optional note (feeds future 'where to stay' recall). Resolve the ID first.
| Field | Type | Description |
|---|---|---|
| stayId* | string | Stay ID from a prior stays_queryStaysDashboard result, never invented. |
| rating* | integer | |
| ratingNote | string |
stays_deleteStayDeletethrough vritto_deleteDelete (archive) one stay. Only for explicit removals, a canceled reservation should be upserted with canceled:true instead. Resolve the ID first.
| Field | Type | Description |
|---|---|---|
| stayId* | string | Stay ID from a prior stays_queryStaysDashboard result, never invented. |