{"success":true,"module":"mupza_restaurant_order_flow_actions_v1","contracts":[{"action":"accept_order","label":"New в†’ Accepted","source":"POS / Admin / Waiter","target":"Order Engine","safety":"Requires role: cashier, manager, owner or assigned waiter"},{"action":"start_preparing","label":"Accepted в†’ Preparing","source":"Kitchen Desktop / POS","target":"Kitchen Tickets","safety":"Creates/updates station tickets"},{"action":"mark_ready","label":"Preparing в†’ Ready","source":"Kitchen Desktop / POS","target":"Courier dispatch if delivery","safety":"Only delivery order goes to courier app"},{"action":"dispatch_courier","label":"Ready в†’ Courier App","source":"Order Engine","target":"Courier App notification","safety":"Pickup/dine-in orders are excluded"},{"action":"print_pre_check","label":"Print pre-check before close","source":"Waiter App / POS","target":"Cashier printer through POS Local Hub","safety":"Not fiscal/final receipt; order remains unpaid/open"},{"action":"print_final_receipt","label":"Print final receipt after payment","source":"POS","target":"Cashier printer","safety":"Requires paid/completed order"},{"action":"update_kitchen_ticket","label":"Kitchen ticket status update","source":"Kitchen Desktop","target":"POS Local Hub + cloud sync","safety":"Station-scoped"},{"action":"queue_offline_sync","label":"Queue local operation for cloud sync","source":"POS Local Hub","target":"Cloud sync queue","safety":"Retry and conflict tracking required"}]}