mirror of
https://github.com/Dvorinka/Bookra.git
synced 2026-10-28 15:51:15 +00:00
feat(bookings): dashboard cancellation and waitlist promotion
- POST /v1/catalog/bookings/{id}/cancel lets businesses cancel
tenant-owned bookings; two-step confirm in the detail modal
- Shared PromoteWaitlist helper promotes earliest waitlisted bookings
when a class seat frees, on both dashboard and customer cancel paths;
promoted customers get a confirmation email, waitlist ledger marked
resolved
- waitlisted status surfaced in bookings UI: stats card, filter, warning
badge, demo seed, CS+EN strings
- BookingRecord gains created_at for fair ordering; GetBookingByID and
ResolveWaitlistEntry added to the repository surface
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
0405106587
commit
668a54ae1d
15 files changed
+563
-5
No files matched your search
@@ -800,6 +800,26 @@ paths:
|
||||
description: Invalid request
|
||||
"409":
|
||||
description: Conflict with existing booking
|
||||
/v1/catalog/bookings/{bookingID}/cancel:
|
||||
post:
|
||||
tags: [Catalog]
|
||||
operationId: cancelDashboardBooking
|
||||
security:
|
||||
- bearerAuth: []
|
||||
parameters:
|
||||
- in: path
|
||||
name: bookingID
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
format: uuid
|
||||
responses:
|
||||
"200":
|
||||
description: Booking cancelled; freed class seats promote the waitlist
|
||||
"400":
|
||||
description: Booking already cancelled
|
||||
"404":
|
||||
description: Booking not found
|
||||
/v1/catalog/blocked-days:
|
||||
get:
|
||||
tags: [Catalog]
|
||||
|
||||
Reference in new issue
Block a user