Add a "Statut" button on the ticket (distinct from the snooze "Reporter"): Ouvert / En attente / Complété (Resolved) / Annulé (Closed). Additive — does not touch the shared TicketStatusControl. For a ticket with a linked open install job, an explicit "Activer + facture brouillon" button (also offered when set to Complété) reuses the EXISTING hub flow: POST /dispatch/job-status Completed → chain unblock → activateSubscription ForJob → one consolidated prorated DRAFT invoice, gated by PRORATION_WRITE / BILLING_APPROVAL_GATE (never auto-charges; billing manager edits/approves). No new billing logic, no hub change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| client | ||
| field-tech | ||
| ops | ||
| portal | ||
| website | ||
| website-vue | ||