ExBooking. Event
(ExBooking v0.1.0)
View Source
Canonical booking events emitted by decisions.
Events describe what happened in booking-domain language: confirmed, reserved, rescheduled, canceled, expired, or marked no-show. The consumer stamps ids and occurrence times, stores the events, and publishes them to analytics, billing, calendar, or notification systems as needed.
Example
iex> event = %ExBooking.Event{type: :booking_confirmed, resource_ids: ["resource_1"]}
...> event.type
:booking_confirmed
Summary
Types
@type t() :: %ExBooking.Event{ data: map(), meeting_type_id: String.t() | nil, resource_ids: [String.t()], routing_context: map(), slot: ExBooking.Interval.t() | nil, type: type() }
A canonical booking event.
@type type() ::
:booking_reserved
| :booking_confirmed
| :booking_rescheduled
| :booking_canceled
| :booking_expired
| :booking_no_show
Canonical event name.