Glossary
BA — Booking Automation. The legacy automation tool we’re migrating away from. Hosted product with a web panel and per-booking auto-actions.
Beds24 — The reservation system (channel manager + booking engine front-end). We talk to it via its v2 API. BA sits on top of Beds24 too, so when we read/write a booking, BA sees it.
AA / auto-action — Beds24/BA’s term for an event-driven automation rule (e.g., “7 days before check-in, send this email”). 35 of these in the legacy setup, 30 ported to our workers.
Workflow — Cloudflare’s durable-execution engine. Each per-booking
BookingFlagWorkflow instance survives worker restarts, can sleep for
days, and replays from snapshot if a step fails.
Phase — One unit of work inside a workflow. Most phases follow the
pattern step.sleepUntil(fireAt); step.do(work). Idempotent: re-running
a phase doesn’t duplicate side effects.
Touchpoint — A user-facing message (to guest or cleaner) in the cleaning workflow. Heads-up → T-2 reminder → time-commit are the three.
Info code — Per-booking key/value pair stored on the Beds24 booking record. Used for durable cross-system state (CA_PRE_CHECKIN_COMPL, CHECKIN, COHOST_NOTIFIED, etc.). Survives our worker restarts.
Shadow mode — A feature_flags row with shadow_mode=1 means the
workflow writes its predictions to shadow_predictions and logs activity
but doesn’t actually send / mutate. Used to test parity before flipping
a BA AA off.
Self-write debounce — When our worker calls updateBooking, Beds24
fires a modify webhook back to us. The debounce (KV-based, 60s TTL)
prevents this from re-spawning the workflow.
MT — Mountain Time (Steamboat is in MDT/MST). Times in BA’s UI are typically MT; our code stores UTC and converts where needed.