Terms Of Use
✅ Functional Specification – Custom Order Manager + POS Interface for WooCommerce
Project Summary
We need to develop a custom POS-style Order Manager inside WordPress/WooCommerce for a rotisserie shop (“pollería”) that handles phone orders, walk-in orders and future reservations. This system replaces a manual Microsoft Access workflow and must be optimized for fast order creation, customer lookup, future pickup scheduling, and product quantity entry.
The solution must be fully integrated with WooCommerce, so customers created offline can also log in and order online in the future.
- User Roles
Admin / Staff (Back-office POS user)
- Creates customers manually
- Creates orders for phone calls or walk-ins
- Edits orders
- Marks orders as paid/unpaid
- Assigns payment method
- Views customer history
- Repeats previous orders
- Manages all order data
Customer (Frontend user)
- Can log in on the website using email/password
- Can place orders online via WooCommerce
- Can see order history online
- Core Functional Workflow (must be extremely fast and touch-friendly)
Step 1 – Customer Lookup
Staff user can search a customer by:
- Phone number
- Name
- DNI/NIF (optional field)
If customer exists → system loads customer profile and order history.
If customer does NOT exist → option to Create New Customer:
- Name
- Phone
- Optional: Address
- On creation, send automatic “account created” email with login details or password reset link.
- Step 2 – Order Creation (POS page)
Once customer is selected, staff enters the order.
Required fields:
- Pickup Date (default: today)
- Pickup Time (default: current time)
- Notes / Special Instructions
- Product Quantities (list of products with quantity selectors)
Product Input requirements
- Products are standard WooCommerce products
- POS shows all relevant products with quantity selectors (0, 1, 2, 3, 4…)
- Categories grouped visually (e.g. Chickens, Croquettes, Drinks)
- Touch-optimized layout design
Special Customization Options
- Easily create Product Addons
- Checkboxes for common requests, e.g.:
- “Sin gluten”
- “Sin cebolla”
- “Extra salsa”
- (customizable list)
- Free text notes for kitchen instructions.
- Step 3 – Payment Options
Because many orders are placed by phone and collected later:
Payment is NOT mandatory at order creation.
Fields:
- Payment Method (optional):
- Cash
- Card
- Other
- Paid / Not Paid checkbox (Default = Not Paid for phone reservations)
This allows:
- Orders placed today
- To be paid when customer picks up
- Or left “unpaid” if booking is for tomorrow, etc.
- Step 4 – Order History & Customer View
Whenever a customer is selected, staff must see:
Customer History Section
- List of previous orders
- Status (Paid / Unpaid / Completed / Pending Pickup)
- Date & time
- Order total
Repeat Order Function
Button: “Repeat this Order”
- Automatically pre-load all items and quantities from previous order
- Staff can adjust before confirming
This greatly speeds up workflow for recurring customers.
- Filtering & Management Views
We need custom backend screens (separate from WooCommerce default).
- Daily Order List (Backoffice POS Dashboard)
Shows all orders for selected day:
Columns:
- Customer name
- Phone
- Product quantities (shown in compact form)
- Pickup time
- Paid / Not Paid
- Order status
- Notes
- Edit button
Filters:
- By day (today / tomorrow / specific date)
- By paid / unpaid
- By status
- Daily Totals View
For production planning:
- Total chickens
- Total croquettes
- Total canelones
- Total drinks
Based on pickup date, not order date.
- Data Model & Integration Requirements
Orders
- All orders should be stored as WooCommerce Orders
- With custom fields for:
- Pickup date
- Pickup time
- Special notes
- Special checkboxes
- Payment status
Customers
- Must be stored as WooCommerce Customers
- Created with email, phone, name
- After creation, they can log in online
Products
- Standard WooCommerce products
- The POS UI must use product data directly (ID, name, price, category)
- POS / Order Manager UI Requirements
- Must be simple, clean and fast
- Designed for touch screens (large buttons, big inputs)
- Must load fast even with many products
- Layout should fit a 15–17’’ monitor at counter
- Support for tablet use would be ideal
- Technical Notes for Development
- This is a custom plugin, not a theme customization
- Frontend can use React/Vue or a clean custom admin interface
- Must integrate with WooCommerce API or WC internal functions
- Custom endpoints or admin pages will be required
- Future extensibility must be considered (e.g. printing tickets)
- Deliverables Expected
- Customer search module
- Customer creation module
- POS-style order creation page
- Daily Orders page
- Daily Totals / Dashboard
- Order history per customer
- Repeat order function
- Custom order fields (date, time, notes, checkboxes)
- Integration of paid/unpaid status
- Mobile/tablet responsive design (touch-friendly)
- Non Functional Requirements
- Very fast loading
- Minimal clicks for workflow
- No page reloads (AJAX or SPA structure recommended)
- Clean, modern interface
- Fully compatible with WooCommerce updates
- Secure and role-restricted
- Translatable (English/Spanish/Catalan)
- Future Possible Add-ons (not part of initial budget, optional)
- Thermal printer integration
- Automatic ticket printing
- Kitchen screen
- WhatsApp message confirmation
- Integration with external POS or Glop (optional later)
END OF SPECIFICATION
