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

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