Direct bookings
apiSource = "direct" (apiSourceId=0). Booked via Bill’s BA front-end
or by Bill manually entering a returning guest.
Detection
dispatchChannelFor("direct") returns "email". No OTA thread to
route through — all communication via Mailgun email.
Payment
For Direct bookings, payment was collected separately (Stripe Elements on Bill’s site, or manually). Our worker doesn’t get involved in the base booking payment. Only add-ons (early check-in / late check-out) use our Stripe flow.
Pre-arrival messaging
All five phases (T-14, T-5, T-3, T-1, T-0) send to the booking’s email. Optionally also via Beds24 thread for host-side record (the thread for direct bookings doesn’t route anywhere external).
Beds24 thread behavior
For direct bookings, Beds24’s /bookings/messages writes to the
booking thread (host-side note panel). No external routing. We mostly
skip thread sends for direct bookings except for the checkout-eve
message (which goes thread + email for record).
VRBO vs. Direct
Looks similar from our worker’s POV: both are email-only, both run the full workflow. Only difference: BA’s pending-payment AAs target VRBO specifically (287723/287724). Direct bookings don’t have those.
BA AA mapping
No Direct-specific AAs. All AAs that apply to all channels (T-14 welcome, checkout-eve, etc.) are covered by our worker.