Skip to content

help wanted: alert front office when channel ARI sync fails (stop silent OTA oversell) #308

Description

@telivity-otaip

Why hotels care

When availability/rates fail to push to the channel manager / OTA, the hotel keeps selling on Booking.com while the PMS thinks the house is full — or the reverse. Revenue managers and night auditors need a bell, not a row in last_sync_error they discover after a walk.

Staff notifications already fire for webhook delivery failures and night-audit anomalies. Channel sync failures do not (today).

Current state (code anchors)

  • ChannelService.updateSyncStatus(...) writes lastSyncAt / lastSyncStatus / lastSyncError
  • AriService / ContentSyncService call that on success/failure
  • StaffNotificationListener handles agent.decision_created, webhook.delivery_failed, audit.completedno channel sync listener
  • Dashboard NotificationBell already consumes /v1/staff-notifications

What we need

  1. Emit a stable internal event when a channel connection transitions to failed (or N consecutive failures)
  2. StaffNotificationListener (or sibling) creates a critical staff notification: property, connection, adapter, truncated error, link/hint to Channels UI
  3. Debounce / dedupe so a flapping CM does not spam every 30s
  4. Optional: clear/resolve notification on next successful sync
  5. Tests for listener + debounce; manual note in ops/harden or channels docs

Open questions (operators)

  • Who must see this — front desk, revenue manager, or admin-only?
  • Alert on first failure, or after sustained failure (e.g. 15 minutes / 3 attempts)?
  • Should rate-parity violations also page staff, or stay in the parity grid only?

Acceptance criteria

  • Failed ARI/content sync → staff notification within the property
  • Success after failure can clear or mark resolved
  • No notification storms under retry loops
  • Multi-tenant: property A failure never notifies property B users
  • Vitest coverage

How to contribute

Great first substantial NestJS issue if you know EventEmitter + the staff-notification module. Hotel channel managers who have been burned by stuck ARI are especially welcome to define debounce thresholds in comments.

Search keywords: channel manager, ARI sync, OTA oversell, staff notification, Channex, SiteMinder, rate push failure, hotel inventory sync

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    channel-adapterReal channel adapter integrationenhancementNew feature or requesthardeningPost-v1.0 production hardeninghelp wantedExtra attention is needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions