There are 2 types of users: Administrator/Supervisor, Ordinary Employee.
There are 3 main functions: creating a ticket, maintaining a ticket and finalizing a ticket.
Admins/Supervisors will have a bit more functionality as mentioned above.
The program needs to be able to print receipts locally from each station, send receipts to either the kitchen/pizza station (if necessary) and able to make use of a cash drawer on cash transactions.
In the backend there will be the ability to add/edit/remove menu items as well as users.
When in doubt, I really like the way AmigoPOS is set up. If you ever need a good reference please feel free to see how they handle it and use your best judgement implementing a feature.