Workflow — Multi-Stage Service
Workflow — Multi-Stage Service
Use case: Student must visit Registrar, then Cashier, then Releasing.
Configuration: Admin creates a ServiceFlow with 3 ordered steps using the Workflow Builder.
Trigger: Visitor joins queue for the root service.
Step-by-Step
| Step | Action | Notes |
|---|---|---|
| Ticket issued | Ticket created for Step 1 (Registrar) | flow_snapshot saved on ticket at issue time |
| Complete at Step 1 | CompleteTicket checks flow_snapshot for next step |
Finds Step 2 (Cashier) |
| — | Creates new TicketStage for Step 2 |
Ticket current_office_id updated to Cashier |
| — | Ticket appears in Cashier's waiting queue | — |
| Complete at Step 2 | CompleteTicket finds Step 3 (Releasing) |
Same routing logic |
| Complete at Step 3 | No more steps found | Ticket marked status=Completed |
The Flow Snapshot
The flow_snapshot column on the tickets table is an immutable JSON copy of the ServiceFlow record at the moment the ticket was issued.
Important: Changes to the
ServiceFlowconfiguration after a ticket is issued do not affect that ticket. This ensures consistency for in-flight tickets during workflow configuration changes.
Visitor Experience
- The visitor tracks their ticket on the status page and sees the current office.
- When transferred to the next stage, they receive an email notification (if opted in) indicating the new office.
- The display board at each office shows the ticket in the waiting queue for that step.
Was this article helpful?
Let us know so we can improve our documentation.
Thanks for your feedback!
Glad we could help.
Sorry to hear that
How can we improve this?
Thanks for your feedback!
We'll use your feedback to improve.
Related articles