Skip to content

Add "reserved-slot expiry" webhook to notify suppliers of released holds #592

Description

@thlpkee20-wq

Description

Emit a supplier-facing webhook slot.reservation.expired whenever a slot hold is released due to booking-intent expiry, containing slot id, tz-aware start, and reason.

Requirements and context

  • Must be secure, tested, and documented
  • Should be efficient and easy to review
  • Relevant code: src/webhooks/dispatch.ts, src/workers/expireBookingIntents.ts

Suggested execution

  • Fork the repo and create a branch
  • git checkout -b feat/slot-reservation-expired-webhook
  • Implement changes
    • Add webhook event type + JSON schema
    • Dispatch on release with signature per existing webhook contract
    • Add supplier setting to opt in/out of this event
  • Validate security and correctness assumptions

Test and commit

  • Run tests
    • npm test
  • Cover edge cases
    • supplier opted-out (no dispatch), delivery failure retries with backoff, duplicate release (dedupe)
  • Include test output and notes

Example commit message

feat: slot.reservation.expired webhook

Guidelines

  • Minimum 95 percent test coverage
  • Clear documentation
  • Timeframe: 96 hours

Metadata

Metadata

Assignees

Labels

Stellar WaveStellar Wave issue batchapiAPI endpoints and request/response behaviorbackendBackend scopefeatureNew feature work

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions