feat(api): complete M5 swap and dispatch backend slice
This commit is contained in:
@@ -24,10 +24,11 @@ What was validated live against the deployed stack:
|
||||
- client coverage incident feed for geofence and override review
|
||||
- client blocked-staff review and invited shift-manager creation
|
||||
- client hub, order, coverage review, device token, and late-worker cancellation flows
|
||||
- client swap-request review, dispatch-team management, and dispatch-candidate ranking
|
||||
- client invoice approve and dispute
|
||||
- staff dashboard, availability, payments, shifts, profile sections, documents, certificates, attire, bank accounts, benefits, and time card
|
||||
- staff benefit history read model
|
||||
- staff availability, profile, tax form, bank account, shift apply, shift accept, push token registration, clock-in, clock-out, location stream upload, and swap request
|
||||
- staff availability, profile, tax form, bank account, shift apply, shift accept, push token registration, clock-in, clock-out, location stream upload, swap request, and completed-shift submission
|
||||
- direct file upload helpers and verification job creation through the unified host
|
||||
- client and staff sign-out
|
||||
|
||||
@@ -109,6 +110,20 @@ Important operational rules:
|
||||
- background location streams are stored as raw batch payloads in the private v2 bucket and summarized in SQL for query speed
|
||||
- incident review lives on `GET /client/coverage/incidents`
|
||||
- confirmed late-worker recovery is exposed on `POST /client/coverage/late-workers/:assignmentId/cancel`
|
||||
- client swap review is exposed on:
|
||||
- `GET /client/coverage/swap-requests`
|
||||
- `POST /client/coverage/swap-requests/:swapRequestId/resolve`
|
||||
- `POST /client/coverage/swap-requests/:swapRequestId/cancel`
|
||||
- dispatch-team management is exposed on:
|
||||
- `GET /client/coverage/dispatch-teams`
|
||||
- `GET /client/coverage/dispatch-candidates`
|
||||
- `POST /client/coverage/dispatch-teams/memberships`
|
||||
- `DELETE /client/coverage/dispatch-teams/memberships/:membershipId`
|
||||
- dispatch ranking order is:
|
||||
1. `CORE`
|
||||
2. `CERTIFIED_LOCATION`
|
||||
3. `MARKETPLACE`
|
||||
- expired swap requests are auto-cancelled by the notification worker and emit manager plus staff alerts
|
||||
- queued alerts are written to `notification_outbox`, dispatched by the private Cloud Run worker service `krow-notification-worker-v2`, and recorded in `notification_deliveries`
|
||||
|
||||
## 5) Route model
|
||||
|
||||
Reference in New Issue
Block a user