ModelingEvolution.Booking 1.0.0-preview.1

ModelingEvolution.Booking

Meeting booking as an event-sourced module on MicroPlumberd 1.2.x / KurrentDB: one BookingCalendar-{mailbox} stream arbitrates non-overlap of meetings on a mailbox (optimistic concurrency — a lost version race retries once, then refuses as slot_taken); each booking lives on its own Booking-{BookingId} stream (MeetingBooked, MeetingCancelled); availability is synced from O365 and offered per meeting type; bookings carry an ExternalReference (kind:value) a consumer uses to find them again.

builder.Services.AddPlumberd(KurrentDBClientSettings.Create(connectionString));
builder.Services.AddBooking(builder.Configuration);   // command handlers, read models, calendar integration (Booking:* options)

Read models: BookingLookupModel (by id / by reference), AvailableSlotsModel, BookingConfigModel. The concurrency invariant is tested against a real KurrentDB in the source repository (RealStoreSlotArbitrationTests), on both the pre- and post-1.2 client libraries.

No packages depend on ModelingEvolution.Booking.

Version Downloads Last updated
1.0.0-preview.11 0 08/19/2026
1.0.0-preview.10 0 08/19/2026
1.0.0-preview.9 0 08/19/2026
1.0.0-preview.8 6 08/17/2026
1.0.0-preview.7 0 08/17/2026
1.0.0-preview.6 5 08/17/2026
1.0.0-preview.5 1 08/17/2026
1.0.0-preview.4 3 08/17/2026
1.0.0-preview.3 0 08/17/2026
1.0.0-preview.2 3 08/17/2026
1.0.0-preview.1 0 08/17/2026