Tickets
What this screen is for
Shows every ticket the business has opened, in any status (open, closed, voided), in one list. From here a walk-in ticket is opened directly for a customer with no appointment, and tapping a row opens that ticket's detail screen.
When you would use this
The owner reaches this screen to record a walk-in customer right away, or to find a specific ticket. A ticket opened without an appointment has no appointment record of its own, so this list is the only way back to it.
Who sees it
Only the user matching the owner field on the company document can open this screen; no one else can view the business's ticket list.
Where it lives
The screen exists in both the mobile app and the web panel; both list every one of the business's tickets, filtered by status the same way.
What you can do here
Filter by status
The list narrows to all, open, closed, or voided; with none selected, every ticket shows.
Go to a ticket's detail
Tapping a row in the list opens that ticket's detail screen, where its lines are edited.
Open a ticket for a walk-in customer
A form with a required name and an optional phone number opens an empty ticket and goes straight to its detail screen; the server accepts a blank name, but both surfaces require one client-side, because the name is the only thing that tells one row from another in the list that is the only way back to it.
Load more tickets
The list opens with the first 200 tickets; "load more" adds the next 200.
Panel only. The app reads the 200 most recent tickets in one fixed batch and has no way to load anything older.
What the server accepts and refuses
A suspended business cannot open a new ticket
While a business is suspended by an admin, the walk-in control is removed from the interface and the server refuses the same request; suspension blocks only OPENING a new ticket, never finishing one that already exists.
A total shows only on a closed ticket
A row shows an amount only when the ticket is closed and the total the server wrote at closing exists; an open or voided ticket carries no amount beside it.