Ticket
What this screen is for
The detail screen for one ticket: shows the customer and its status, and its service lines (quantity, price, staff, note); adding, editing and removing lines, saving, closing and voiding all happen here. A ticket reaches this screen either opened from an approved appointment on the appointments screen, or opened as a walk-in from the tickets list's form — either way lands directly here.
When you would use this
The owner reaches this screen during or right after a visit to record what a customer is being charged for which services, to correct a line or price mistake on a ticket that already closed, or to withdraw a ticket that was opened or closed by mistake.
Who sees it
Only the user matching the owner field on the company document can edit, close, or void a ticket.
Where it lives
The screen exists in both the mobile app and the web panel; both read the same ticket document and offer the same line editor. The panel additionally shows the linked appointment's time and a closed ticket's revision history; the app has neither block.
What you can do here
Add a service line
A new line is added by picking one of the active services that share the ticket's currency; with no lines yet, every active service in the catalog is offered.
Edit quantity and price
Each line's quantity is raised or lowered with a stepper, and its price is typed freely into a text field; leaving the field empty marks the line unpriced rather than zero.
Add a note to a line
Each line carries its own free-text note.
Assign staff to a line
When there is an active staff member, or the line already carries one, a picker for who performed it is shown; a member who has left the business still shows by name but can no longer be picked.
Remove a line
A line can be removed from the ticket entirely.
Save
Changes to the lines are written only on tapping Save; no edit autosaves on keystroke, and the button is disabled while nothing has changed.
Close
Closes the ticket with a free-text payment note; closing is enabled only on a ticket that qualifies, and the reason shows when it does not.
Void
Voids the ticket after asking for confirmation.
Print / export
The same ticket content is printed as an A4 page from the panel or exported as a PDF from the app; both are offered whatever the ticket's status.
The panel opens the browser's print dialog; the app opens the operating system's share/save flow — both produce the same page content.
See the linked appointment's time
When a ticket was opened from an appointment, its scheduled time and when it was booked are shown separately.
Panel only; the mobile screen shows nothing of this at all.
See the revision history
Every edit made to a closed ticket is listed with the total it changed from and to.
Panel only; the server keeps this record regardless of which surface saved the edit, but the mobile screen does not show it.
What the server accepts and refuses
A voided ticket cannot be edited
Only an open or closed ticket's lines can be saved; a write request against a voided ticket is refused server-side, and the editor opens read-only in that case.
Correcting a closed ticket leaves a revision record
When a closed ticket's lines are changed and saved, the server writes the lines as they stood before the edit, and the total before and after, to a separate revision document; this record is kept regardless of which surface saved the edit.
A ticket cannot close empty or with an unpriced line
A ticket with no lines at all, or with at least one line whose price is left empty, cannot be closed; the server refuses each for its own distinct reason.
Closing moves the linked appointment to completed
Closing a ticket that was opened from an appointment also moves that appointment to completed; closing a ticket with no appointment behind it touches no appointment at all.
Voiding undoes what closing did to the appointment
Voiding a closed ticket returns its linked appointment to approved; this undoing does not re-check the slot's capacity, so the void is accepted even if the slot has since filled up.
A ticket can still be finished on a suspended business
Even while a business is suspended by an admin, editing an open ticket's lines, closing it, or voiding it is not refused; suspension blocks only opening a new ticket.
A ticket voids once
A request to void a ticket that is already voided is refused server-side.