Database schema
The worker uses one D1 database (stayonthesnow) bound as
env.DB. Migrations live in migrations/*.sql and run via
npx wrangler d1 migrations apply.
Tables
| Table | Migration | Purpose |
|---|---|---|
bookings | 0001 | Beds24 booking cache |
migration_log | 0001 | Generic audit trail (workflow triggers, webhook hits, errors) |
feature_flags | 0001 / 0003 / 0010 / 0014 / 0028 / 0034 | Per-workflow shadow + enable toggles |
info_items | 0001 | Beds24 infoItem cache (TBD: may be deprecated) |
messages | 0001 | Beds24 thread message cache |
shadow_predictions | 0002 / 0006 | Workflow phase predictions (action_at + fields) |
workflow_runs | 0001 | (legacy, may be deprecated) |
workflow_instances | 0004 | (workflow_name, resource_id) → instance_id |
property_config | 0005 / 0009 / 0014 / 0026 / 0030 / 0031 / 0032 / 0033 | Per-property settings |
form_submissions | 0007 / 0008 | Check-in / check-out form submissions |
cleanings | 0011 / 0012 / 0013 / 0015 / 0016 | Per-booking cleaning state |
pre_checkin_submissions | 0017 / 0018 / 0019 / 0020 / 0021 / 0027 / 0029 | Pre-check-in form state |
mailgun_events | 0022 / 0023 | Mailgun webhook events |
twilio_events | 0024 | Twilio status callback events |
outbound_log | 0024 | Cross-channel send log |
beds24_messages | 0024 | Outbound thread messages + verification |
alert_log | 0025 | Dedup log for repeat alerts |
Migrations applied (as of latest)
0001_initial.sql — bookings, migration_log, feature_flags0002_shadow_phases.sql — shadow_predictions0003_booking_flag_flag.sql — feature_flags row for booking-flag0004_workflow_instances.sql — workflow_instances0005_property_config.sql — property_config (initial cols)0006_shadow_predictions_dedup.sql — unique index0007_form_submissions.sql — form_submissions0008_form_overrides.sql — form_overrides column0009_property_cleaners.sql — cleaners JSON column0010_cleaner_sms_flag.sql — cleaner-sms feature flag0011_cleanings.sql — cleanings (initial cols)0012_cleanings_arrival_date.sql — arrival_date column0013_cleanings_touchpoints.sql — touchpoint cols0014_cleaner_emails_and_flag.sql — cleaner emails + cleaner-email flag0015_cleanings_next_arrival.sql — next_arrival_date column0016_cleanings_eta_miss.sql — eta_miss_alerted_at column0017_pre_checkin_submissions.sql — pre_checkin_submissions (initial)0018_pre_checkin_signature.sql — signature cols0019_pre_checkin_selfie.sql — selfie cols0020_pre_checkin_addons.sql — addon cols0021_pre_checkin_payments.sql — Stripe cols0022_mailgun_events.sql — mailgun_events0023_mailgun_event_tagging.sql — booking_id + purpose cols0024_delivery_observability.sql — twilio_events, outbound_log, beds24_messages0025_alert_log.sql — alert_log0026_property_addon_pricing.sql — addon_pricing JSON0027_addon_decisions.sql — per-addon decision tracking0028_pre_arrival_messages_flag.sql — pre-arrival-messages flag0029_pre_arrival_message_gate.sql — last_pre_arrival_msg_at0030_property_arrival_instructions.sql — arrival_instructions_short0031_property_lock_box.sql — lock_box_code0032_property_arrival_body.sql — arrival_message_body0033_property_cohost_emails.sql — cohost_emails JSON0034_form_bridges_flag.sql — form-bridges flagRead more
For column details on each, see the migration files or
/admin/property/{id} for the
visual config editor.