Mobile App Development for Catering
Catering is not a restaurant. There is no permanent daily menu here: there is an event, a date, number of guests, format (cocktail reception, banquet, coffee break), and special requirements. An order is formed through multiple rounds of negotiation, and the mobile app must support this exact process, not just display a price list.
Catering Order Process in App
The client doesn't simply "add to cart". They create a request: specify event date, number of guests, format, budget estimate, attach a technical specification or notes. Based on this, the catering company manager drafts a proposal directly in the web panel and sends it to the client for approval.
This is a workflow, not a shopping cart. In the app: create request → "Under Review" status → receive proposal → approve/reject/request revisions → confirm → make prepayment.
Push notifications at each status change via FCM.
Menu Constructor
For repeat clients and standard formats — an online menu builder: the client selects a package (basic, standard, premium) and customizes it for their event format. Each menu item includes price per person, availability for specific event types, and allergens.
The final quote is automatically generated on the backend (number of guests × price per person + additional services: equipment rental, delivery outside city limits, wait staff). PDF quote is sent to the client in the app.
Document Management
After approval — a contract. Contract generation from a template via Laravel (mPDF or WeasyPrint): insert client data, event details, order contents, cost, terms. The client signs with simple electronic signature (handwritten signature on screen or confirmation via email + SMS OTP). PDF with signature is saved to S3.
Act of completion — similarly, after the event.
Client Personal Account
History of events, current order status, documents, data for next order (saved addresses, preferences). If the client is corporate, multiple company employees work under one account with different permissions (initiator, approver, accountant).
Tech Stack: Flutter 3.x, Laravel 10 + PostgreSQL, FCM, S3, WeasyPrint/mPDF for PDF generation, YooKassa for prepayments.
Timeline
MVP (requests, approval, menu constructor, payment) — 12 to 16 weeks. With document management, corporate accounts, and 1C integration — from 20 weeks.
Cost is calculated individually after requirements analysis.







