Skip to content

Airbnb channel

apiSource = "airbnb" (apiSourceId=46). All Airbnb-specific behavior:

Detection

dispatchChannelFor("airbnb") returns "ota_message" — all guest messages route via Beds24 thread (Beds24 forwards into Airbnb chat).

Confirm message on new booking

runAirbnbConfirm in src/workflows/channel-specific.ts fires immediately on workflow spawn:

  • Skips if OTA_CONFIRMED=Y info code already set
  • Skips if shadow=true
  • Sends a “thanks for booking” message via Beds24 thread + email (if real address)
  • Sets OTA_CONFIRMED=Y info code (idempotency)

Subject: Thanks for booking {Property} Tagged purpose=ota_airbnb_confirm.

Pre-arrival messaging

T-14 / T-3 / T-1 / T-0 all dispatch via both channels:

  • Email (if guest has a non-relay email — typically Airbnb provides one in the email field that’s a relay; we send to it anyway)
  • Beds24 thread → routes to Airbnb chat

Most Airbnb guests interact via the Airbnb app, so the thread path is the primary signal.

Cancellation

When Airbnb cancels a booking, Beds24 sends webhook.booking.cancel. ensureBookingFlagWorkflow then:

  1. Terminates the workflow instance
  2. Notifies the property’s cleaners via email (BA AA 308252)
  3. Sets CANCEL_CLEAN_SENT=Y for idempotency

Reviews

Airbnb review collection is not currently migrated — the BA AA inventory didn’t show a dedicated review request. Future work if Bill wants automated review nudges.

BA AA mapping (Airbnb-specific)

BA AAStatus
291710 (airbnb confirm message)Covered by runAirbnbConfirm