Restaurant point of sale database schema

How a dining-room POS models its data: floor plan tables and seats, open checks, courses and fire times, kitchen tickets routed per station, sold-out items, split checks, cashier shifts and tip-outs.

Restaurant POS ER diagram

Restaurant point of sale database schema n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 n1 staff_members idBIGINT display_nameVARCHAR roleVARCHAR pin_hashVARCHAR hourly_rate_centsINTEGER tip_pool_share_bpsINTEGER is_activeBOOLEAN hired_atDATE cashier_shifts idBIGINT staff_member_idBIGINT terminal_codeVARCHAR business_dateDATE opened_atDATETIME closed_atDATETIME opening_float_cen…INTEGER counted_cash_centsINTEGER expected_cash_cen…INTEGER notesVARCHAR dining_tables idBIGINT labelVARCHAR sectionVARCHAR seat_countSMALLINT pos_xSMALLINT pos_ySMALLINT shapeVARCHAR is_activeBOOLEAN menu_items idBIGINT station_idBIGINT nameVARCHAR categoryVARCHAR price_centsINTEGER currency_codeCHAR default_course_idBIGINT prep_secondsSMALLINT is_sold_outBOOLEAN sold_out_atDATETIME sold_out_untilDATETIME is_activeBOOLEAN courses idBIGINT nameVARCHAR sequenceSMALLINT auto_fire_delay_s…INTEGER checks idBIGINT parent_check_idBIGINT dining_table_idBIGINT opened_by_staff_idBIGINT shift_idBIGINT check_numberVARCHAR statusVARCHAR guest_countSMALLINT subtotal_centsINTEGER tax_centsINTEGER tip_centsINTEGER total_centsINTEGER currency_codeCHAR opened_atDATETIME closed_atDATETIME voided_atDATETIME check_seats idBIGINT check_idBIGINT seat_numberSMALLINT guest_labelVARCHAR created_atDATETIME check_items idBIGINT check_idBIGINT seat_idBIGINT menu_item_idBIGINT course_idBIGINT name_snapshotVARCHAR quantitySMALLINT unit_price_centsINTEGER line_total_centsINTEGER modifiers_textVARCHAR statusVARCHAR fired_atDATETIME served_atDATETIME voided_by_staff_idBIGINT kitchen_stations idBIGINT nameVARCHAR printer_addressVARCHAR display_enabledBOOLEAN sequenceSMALLINT kitchen_tickets idBIGINT check_idBIGINT station_idBIGINT course_idBIGINT ticket_numberVARCHAR fired_atDATETIME bumped_atDATETIME priorityVARCHAR notesVARCHAR kitchen_ticket_items idBIGINT ticket_idBIGINT check_item_idBIGINT quantitySMALLINT line_textVARCHAR is_refireBOOLEAN check_payments idBIGINT check_idBIGINT shift_idBIGINT methodVARCHAR amount_centsINTEGER tip_centsINTEGER currency_codeCHAR card_brandVARCHAR card_last4CHAR processor_referen…VARCHAR paid_atDATETIME tip_outs idBIGINT shift_idBIGINT to_staff_member_idBIGINT basisVARCHAR rate_bpsINTEGER amount_centsINTEGER currency_codeCHAR created_atDATETIME

Related database schemas