A ticketing system logs every sale with a till, a time, a seat and a payment, and the cash office counts the drawer against it every morning. There is a sale at 02:58 most nights, one adult, screen 3, seat J14, paid in cash, on a till that is locked in a dark foyer, and the drawer is over by exactly that ticket.
I am the duty manager who does the morning cash office, and the box office report is the first thing I read.
How a sale is recorded.
The system logs each transaction: till number, operator login, time, screening, seat, tender. The report the next morning lists every sale, and the cash office counts each till's drawer against its cash sales. A drawer over or under by more than a couple of pounds is investigated, because the distributor is paid on the ticket count and the ticket count is audited.
Tills are logged out and locked at close. The foyer is alarmed. The building is empty from about half past midnight until seven.
At two minutes to three, most nights, till 2 records one adult ticket for screen 3, seat J14, paid in cash.
The operator login on the transaction is a login that does not exist in the system. It is in the right format for one.
The screening it is sold for is the last show of the previous evening in screen 3, which finished four hours earlier.
The drawer is over.
That is what makes it more than a database entry. Till 2's cash count in the morning is over by the price of one adult ticket, in notes and coins that are in the drawer, in a locked till, in a locked foyer, on an alarm that did not go off.
What has been checked.
The till. Replaced. The transaction moved to the new one.
The system. It is a hosted system and the vendor pulled the server logs, which show the transaction arriving from till 2's terminal at that time, with a payment record, and their support engineer asked me whether we had a night shift.
The alarm and the cameras. The alarm log shows the system armed at 00:41 and disarmed at 06:52 by the cleaner, no events between. The foyer camera records on motion and records nothing at three, and the still frame at 02:58, which I pulled, shows a dark foyer and till 2 with its cover on.
The seat. J14 in screen 3 is a seat. The system marks it sold for a screening that has finished, so it never blocks a real sale.
The money.
The ticket price has gone up twice in the time this has been happening. The drawer over has gone up with it, to the penny, the same morning.
The cash is ordinary cash. I have looked at it, because I count it: current notes, current coins, nothing withdrawn or foreign or old. It is the price of an adult ticket in whatever the price of an adult ticket is that week.
What is done about it.
The sale is real to the system, so it is real to the distributor. Screen 3's last show every night has one more ticket on its return than people who sat in it, and the distributor takes their percentage of a ticket nobody sat on, and we keep the rest, and it is in the accounts as a sale because it is one.
I reported it to head office in 2022 as an unexplained transaction pattern and the reply from finance was that the drawer reconciles and the return is correct, so there is nothing to adjust.
They are right. Everything balances. That is what I find hard to explain to people: nothing is missing, the money is there, the ticket is sold, the seat is in the room, and the person is not.
What I do.
I count the drawer and I file the report.
The one change is the last show in screen 3.
The usher who clears a screen checks the rows, and the checklist has a line for lost property, and J14 is a seat in the middle of the room that nobody thinks about.
I clear screen 3's last show myself now. I walk row J, I look at seat 14, and on most nights it is a seat.
On three nights since the summer it has been warm, the way a seat is when somebody has just got out of it, with the room empty and the doors shut and the film finished twenty minutes before, and on the third of those there was a ticket stub on the floor under it, torn the way the ushers tear them, with the next morning's transaction time printed on it.