stays.aenderungen
Stays: aenderungen. Read-only query. See the input schema for argument details.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes | |
limit | integer | no | Default: 50 |
Output fields
Returns array of object. Fields of each element:
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
action | string | yes | |
createdAt | string | yes | |
akteur | string · nullable | yes | |
aenderungen | array of object | yes | |
aenderungen.feld | string | yes | |
aenderungen.vorher | string · nullable | yes | |
aenderungen.nachher | string · nullable | yes | |
folio | object · nullable | yes | |
folio.zeilen | number | yes | |
folio.summeCents | number | yes |
stays.booking-panel
Read-only assembly of a booking's two inbox side-panels: reservation summary, guest, mapped property (address/rules/capacity), host+guest financial breakdown, messaging activity, and linked tasks. Returns null if the stay does not exist. Read-only.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
Output fields
The whole object may be null.
| Field | Type | Required | Notes |
|---|---|---|---|
reservation | object | yes | |
reservation.code | string · nullable | yes | |
reservation.platform | string · nullable | yes | |
reservation.status | string | yes | |
reservation.otaStatus | string · nullable | yes | |
reservation.room | string · nullable | yes | |
reservation.roomName | string · nullable | yes | |
reservation.checkIn | string · nullable | yes | |
reservation.checkOut | string · nullable | yes | |
reservation.expectedArrivalAt | string · nullable | yes | |
reservation.nights | number · nullable | yes | |
reservation.guestsCount | number · nullable | yes | |
reservation.adults | number · nullable | yes | |
reservation.children | number · nullable | yes | |
reservation.infants | number · nullable | yes | |
reservation.pets | number · nullable | yes | |
reservation.totalFormatted | string · nullable | yes | |
reservation.exConversationId | string · nullable | yes | |
reservation.externalRef | string · nullable | yes | |
guest | object | yes | |
guest.name | string · nullable | yes | |
guest.email | string · nullable | yes | |
guest.phone | string · nullable | yes | |
guest.locale | string · nullable | yes | |
guest.location | string · nullable | yes | |
guest.sameDayBooking | boolean | yes | |
guest.bookingDate | string · nullable | yes | |
property | object · nullable | yes | |
property.addressDisplay | string · nullable | yes | |
property.wifiName | string · nullable | yes | |
property.wifiPassword | string · nullable | yes | |
property.maxGuests | number · nullable | yes | |
property.petsAllowed | boolean · nullable | yes | |
property.smokingAllowed | boolean · nullable | yes | |
property.eventsAllowed | boolean · nullable | yes | |
financials | object | yes | |
financials.currency | string | yes | |
financials.host | array of object | yes | |
financials.guest | array of object | yes | |
activity | array of object | yes | |
activity.ruleName | string · nullable | yes | |
activity.status | string | yes | |
activity.at | string · nullable | yes | |
tasks | array of object | yes | |
tasks.id | string | yes | |
tasks.kind | string | yes | |
tasks.status | string | yes | |
tasks.scheduledFor | string · nullable | yes |
stays.byId
Get full detail for a single stay/reservation by id.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
Output fields
The whole object may be null.
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
tenantId | string | yes | |
guestId | string | yes | |
externalRef | string · nullable | yes | |
externalCode | string · nullable | yes | |
sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice, channex, beds24 |
checkIn | string · nullable | yes | |
checkOut | string · nullable | yes | |
room | string · nullable | yes | |
status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
otaStatus | string · nullable | yes | |
bookingDate | string · nullable | yes | |
issueAlert | string · nullable | yes | |
stayType | string · nullable | yes | |
notes | string · nullable | yes | |
createdAt | string | yes | |
paymentIntentId | string · nullable | yes | |
paymentStatus | string · nullable | yes | |
bookingTotalCents | integer · nullable | yes | |
currencyCode | string · nullable | yes | |
expectedArrivalAt | string · nullable | yes | |
folioClosed | string · nullable | yes | |
holdExpiresAt | string · nullable | yes | |
source | string · nullable | yes | |
guestsCount | integer · nullable | yes | |
adults | integer · nullable | yes | |
children | integer · nullable | yes | |
infants | integer · nullable | yes | |
pets | integer · nullable | yes | |
nights | integer · nullable | yes | |
otaSource | string · nullable | yes | |
otaReservationId | string · nullable | yes | |
guestName | string · nullable | yes | |
bookingStays | array of object | yes | |
bookingStays.id | string | yes | |
bookingStays.room | string · nullable | yes | |
bookingRooms | array of string | yes | |
chatStayId | string | yes | |
exConversationId | string · nullable | yes |
stays.cancel_and_refund
Cancel a DIRECT (Stripe) booking and refund per the cancellation-window policy. forceRefund=true issues an operator courtesy refund regardless of the window. Only direct bookings with a payment can be refunded here. Owner-only, IRREVERSIBLE, requires confirmation.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes | |
forceRefund | boolean | no | Default: false |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
ok | literal | yes | One of: true |
refunded | boolean | yes | |
refundId | string · nullable | yes | |
windowHours | number | yes | |
eligibleByPolicy | boolean | yes |
stays.cardDetail
Stays: card detail. Read-only query. See the input schema for argument details.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
Output fields
The whole object may be null.
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
tenantId | string | yes | |
room | string · nullable | yes | |
status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
otaStatus | string · nullable | yes | |
source | string · nullable | yes | |
plattformEtikett | string · nullable | yes | |
sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice, channex, beds24 |
externalCode | string · nullable | yes | |
externalRef | string · nullable | yes | |
otaSource | string · nullable | yes | |
otaReservationId | string · nullable | yes | |
lokalerVorrangAm | string · nullable | yes | |
kanalAbgleichStand | string · nullable | yes | |
kanalAbgleichFehler | string · nullable | yes | |
checkIn | string · nullable | yes | |
checkOut | string · nullable | yes | |
expectedArrivalAt | string · nullable | yes | |
nights | integer · nullable | yes | |
bookingTotalCents | integer · nullable | yes | |
currencyCode | string · nullable | yes | |
adults | integer · nullable | yes | |
children | integer · nullable | yes | |
infants | integer · nullable | yes | |
pets | integer · nullable | yes | |
guestsCount | integer · nullable | yes | |
paymentStatus | string · nullable | yes | |
guestId | string | yes | |
guestName | string · nullable | yes | |
guestEmail | string · nullable | yes | |
guestPhone | string · nullable | yes | |
locale | string · nullable | yes | |
exConversationId | string · nullable | yes | |
bookingRooms | array of string | yes |
stays.createWalkIn
Create a walk-in booking directly (no OTA) — for a guest arriving without a prior reservation.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
guestName | string | yes | |
guestEmail | string | no | |
guestPhone | string | no | |
room | string | no | |
checkinDate | string | yes | |
checkoutDate | string | yes | |
notes | string | no |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
stays.create_booking
Create a booking: inserts a guest and a stay. Dates are YYYY-MM-DD; checkout must be after check-in. If status='checked_in', the smart-lock check-in lifecycle fires. Requires confirmation.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
guestName | string | yes | |
guestEmail | string | no | |
guestPhone | string | no | |
room | string | no | |
checkinDate | string | yes | |
checkoutDate | string | yes | |
status | enum | no | One of: confirmed, pending, checked_in — Default: "confirmed" |
source | enum | no | One of: direct, booking, airbnb, manual — Default: "manual" |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
stays.forWindow
List stays overlapping a given date window, for calendar/occupancy-style views.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
from | string | yes | |
to | string | yes |
Output fields
Returns array of object. Fields of each element:
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
checkIn | string · nullable | yes | |
checkOut | string · nullable | yes | |
room | string · nullable | yes | |
status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
otaStatus | string · nullable | yes | |
sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice, channex, beds24 |
source | string · nullable | yes | |
plattformEtikett | string · nullable | yes | |
guestName | string · nullable | yes | |
otaReservationId | string · nullable | yes | |
otaSource | string · nullable | yes | |
exConversationId | string · nullable | yes | |
externalRef | string · nullable | yes | |
rooms | array of string | yes | |
hasRoomOverride | boolean | yes | |
originalRooms | array of string | yes |
stays.get
Fetch a single stay with its guest details and a summary of the linked conversation (message count, last-message timestamp, conversation id). Read-only.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
stay | object · nullable | yes | |
stay.id | string | yes | |
stay.guestId | string | yes | |
stay.externalRef | string · nullable | yes | |
stay.sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice |
stay.checkIn | string · nullable | yes | |
stay.checkOut | string · nullable | yes | |
stay.room | string · nullable | yes | |
stay.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
guest | object · nullable | yes | |
guest.id | string | yes | |
guest.canonicalEmail | string · nullable | yes | |
guest.canonicalPhone | string · nullable | yes | |
guest.nameHint | string · nullable | yes | |
guest.locale | string · nullable | yes | |
conversation | object · nullable | yes | |
conversation.id | string | yes | |
conversation.openedAt | string | yes | |
conversation.lastMessageAt | string · nullable | yes | |
conversation.messageCount | integer | yes |
stays.list
List stays/reservations, optionally filtered (date range, guest, status).
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
filter | enum | no | One of: today, upcoming, past, all, voice-holds — Default: "all" |
limit | integer | no | Default: 50 |
offset | integer | no | Default: 0 |
guestId | string | no | |
search | string | no |
Output fields
Returns array of object. Fields of each element:
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
checkIn | string · nullable | yes | |
checkOut | string · nullable | yes | |
room | string · nullable | yes | |
status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice, channex, beds24 |
guestName | string · nullable | yes | |
guestEmail | string · nullable | yes | |
guestPhone | string · nullable | yes | |
otaSource | string · nullable | yes | |
otaReservationId | string · nullable | yes | |
exConversationId | string · nullable | yes | |
externalRef | string · nullable | yes | |
rooms | array of string | yes | |
roomCount | integer | yes |
stays.list_active
List stays whose check_out is today or later. Includes pending and confirmed. Read-only.
Input parameters
Returns object.
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
items | array of object | yes | |
items.id | string | yes | |
items.guestId | string | yes | |
items.externalRef | string · nullable | yes | |
items.sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice |
items.checkIn | string · nullable | yes | |
items.checkOut | string · nullable | yes | |
items.room | string · nullable | yes | |
items.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
stays.list_for_guest
List other stays of a single guest at this tenant, newest-first. excludeStayId is the current stay (so a returning-guest prompt can skip the active visit and focus on history). Read-only.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
guestId | string | yes | |
excludeStayId | string | yes |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
items | array of object | yes | |
items.id | string | yes | |
items.guestId | string | yes | |
items.externalRef | string · nullable | yes | |
items.sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice |
items.checkIn | string · nullable | yes | |
items.checkOut | string · nullable | yes | |
items.room | string · nullable | yes | |
items.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
stays.perform_checkout
Check out a stay: sets status → checked_out, emits the stay.checked_out webhook, schedules the post-stay review request, and revokes any smart-lock codes. Idempotent if already checked out. Requires confirmation.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
ok | literal | yes | One of: true |
stays.prior_stays
List a guest's prior stays, newest-first. Optionally exclude a stayId (the current one). Read-only.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
guestId | string | yes | |
excludeStayId | string | no |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
items | array of object | yes | |
items.id | string | yes | |
items.guestId | string | yes | |
items.externalRef | string · nullable | yes | |
items.sourceChannel | enum · nullable | yes | One of: whatsapp, email, hospitable, voice |
items.checkIn | string · nullable | yes | |
items.checkOut | string · nullable | yes | |
items.room | string · nullable | yes | |
items.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
stays.protokoll
Stays: protokoll. Read-only query. See the input schema for argument details.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
limit | integer | no | Default: 100 |
vor | string | no |
Output fields
Returns array of object. Fields of each element:
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | |
action | string | yes | |
createdAt | string | yes | |
akteur | string · nullable | yes | |
stayId | string · nullable | yes | |
gast | string · nullable | yes | |
zimmer | string · nullable | yes | |
anzahlAenderungen | number | yes |
stays.reset-all-room-overrides
Clear ALL room-swap overrides for this tenant, restoring every swapped booking to its originally booked room(s). Owner-only, IRREVERSIBLE, requires confirmation.
Input parameters
Returns object.
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
count | integer | yes |
stays.reset-room-override
Clear a single booking's room-swap override, restoring its originally booked room(s).
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
ok | literal | yes | One of: true |
stays.set-room-override
Manually swap a booking's room (guest wish, maintenance issue, …). fromRoom must be one of the booking's current effective rooms; toRoom must exist and be free for the stay's dates (considering other bookings' own overrides) unless allowConflict is set — then the room is DELIBERATELY double-occupied. fromRoom === toRoom clears that mapping.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes | |
fromRoom | string | yes | |
toRoom | string | yes | |
reason | string | no | |
allowConflict | boolean | no |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
roomMap | object | yes |
stays.today
List stays that are arriving, departing, or in-house today.
Input parameters
Returns object.
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
arrivals | array of object | yes | |
arrivals.id | string | yes | |
arrivals.checkIn | string · nullable | yes | |
arrivals.checkOut | string · nullable | yes | |
arrivals.room | string · nullable | yes | |
arrivals.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
arrivals.expectedArrivalAt | string · nullable | yes | |
arrivals.guestName | string · nullable | yes | |
arrivals.exConversationId | string · nullable | yes | |
arrivals.externalRef | string · nullable | yes | |
arrivals.hasPortalSession | boolean | yes | |
arrivals.hasMeldeschein | boolean | yes | |
arrivals.hasSigned | boolean | yes | |
arrivals.hasDeposit | boolean | yes | |
arrivals.hasIdUpload | boolean | yes | |
departures | array of object | yes | |
departures.id | string | yes | |
departures.checkIn | string · nullable | yes | |
departures.checkOut | string · nullable | yes | |
departures.room | string · nullable | yes | |
departures.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
departures.expectedArrivalAt | string · nullable | yes | |
departures.guestName | string · nullable | yes | |
departures.exConversationId | string · nullable | yes | |
departures.externalRef | string · nullable | yes | |
departures.hasPortalSession | boolean | yes | |
departures.hasMeldeschein | boolean | yes | |
departures.hasSigned | boolean | yes | |
departures.hasDeposit | boolean | yes | |
departures.hasIdUpload | boolean | yes | |
inHouse | array of object | yes | |
inHouse.id | string | yes | |
inHouse.checkIn | string · nullable | yes | |
inHouse.checkOut | string · nullable | yes | |
inHouse.room | string · nullable | yes | |
inHouse.status | enum | yes | One of: pending, confirmed, checked_in, checked_out, cancelled, hold |
inHouse.expectedArrivalAt | string · nullable | yes | |
inHouse.guestName | string · nullable | yes | |
inHouse.exConversationId | string · nullable | yes | |
inHouse.externalRef | string · nullable | yes | |
inHouse.hasPortalSession | boolean | yes | |
inHouse.hasMeldeschein | boolean | yes | |
inHouse.hasSigned | boolean | yes | |
inHouse.hasDeposit | boolean | yes | |
inHouse.hasIdUpload | boolean | yes |
stays.update_dates
Move or extend a booking (new check-in/out dates, optionally a different unit). Only manual/direct bookings without an OTA reservation id are editable — OTA reservations are owned by the channel and rejected. Requires confirmation.
Input parameters
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes | |
checkinDate | string | yes | |
checkoutDate | string | yes | |
room | string | no |
Output fields
| Field | Type | Required | Notes |
|---|---|---|---|
stayId | string | yes |