Category Management
Organize your menu products into categories to improve customer discovery and navigation. Categories help group related items together, making it easier for customers to find what they're looking for.
Overview
Category Management allows you to:
- Create Categories: Add new categories directly in OOM or sync from POS
- Organize Products: Assign products to categories with bulk operations
- Customize Names: Edit display names for customer-facing presentation
- Maintain During Sync: Your customizations are preserved when POS syncs
Category Types
POS Categories
Categories synchronized from your Point of Sale system:
- Name: Read-only (controlled by POS)
- Description: Editable for additional context
- Display Name: Customizable for customer-facing channels
- Products: Initially assigned by POS, can be reorganized
Visual Indicator: 🔒 Lock icon indicates POS-controlled fields
OOM Categories
Categories created directly in Oolio Order Management:
- All Fields Editable: Complete control over category details
- Fully Customizable: Name, description, and display order
- Independent of POS: Won't be overwritten during POS sync
- Flagged:
createdFromOOM: truein the data model
Visual Indicator: No lock icon; pencil icon for editing
Creating Categories
Via Interface
- Navigate to Menus → Select your menu → Products tab
- Click "Edit" to enter edit mode
- Click "+ Category" button at the top
- Enter category name inline
- Click "✓ Confirm" or press Enter to save
Via API
POST /menus/{menuId}
Content-Type: application/json
{
"categories": [
{
"id": "cat-new-123",
"category": "Specialty Coffee",
"description": "Our premium coffee selections",
"createdFromOOM": true,
"displayOrder": 5,
"productIds": []
}
]
}Editing Categories
Inline Name Editing
For OOM-created categories:
- Enter edit mode on the Products page
- Click the pencil icon next to the category name
- Type new name
- Click outside or press Enter to save
Category Details
Update descriptions and display order:
- Select the category
- Click "Edit Category" button
- Modify description, display order, or other fields
- Click "Save" to apply changes
Field Protection Rules
| Field | POS Category | OOM Category |
|---|---|---|
| Name | 🔒 Read-only | ✏️ Editable |
| Description | ✏️ Editable | ✏️ Editable |
| Display Name | ✏️ Editable | ✏️ Editable |
| Display Order | ✏️ Editable | ✏️ Editable |
| Product Assignment | ✏️ Editable | ✏️ Editable |
Organizing Categories
Display Order
Categories can be reordered to control how they appear to customers:
- Click "Sort Categories" button
- Drag and drop categories into desired order
- Click "Save Order" to apply changes
Note: Display order is preserved during POS sync.
Best Practices
Logical Grouping
- Group similar or related items together
- Consider customer browsing patterns
- Common examples: Appetizers, Main Courses, Desserts, Beverages
Naming Conventions
- Use clear, customer-friendly names
- Avoid technical or internal terminology
- Keep names concise but descriptive
Category Count
- 5-10 categories works well for most menus
- Too few: Products become hard to find
- Too many: Navigation becomes overwhelming
Category Assignment
Products can be assigned to exactly one category per menu:
- Assigning a product to a new category automatically removes it from the old category
- Products can be in different categories across different menus
- Visual indicators show which products are already assigned
Learn more about Product Assignment →
POS Sync Behavior
What Gets Synced
During POS synchronization:
- New POS Categories: Automatically created in OOM
- POS Category Names: Updated if changed in POS (for POS categories only)
- Product Assignments: Only if user hasn't manually reassigned
What's Protected
Your customizations are preserved:
- User Product Assignments: Products you've moved stay in your chosen category
- Display Names: Custom customer-facing names preserved
- Display Order: Category sorting maintained
- Descriptions: Your custom descriptions kept
- OOM Categories: Completely protected from POS sync
Modification Tracking
The system tracks every category assignment:
{
"field": "PRODUCT_CATEGORY",
"modified": true,
"valueCategory": "cat-beverages", // Your choice
"originalCategory": "cat-hot-drinks", // POS default
"modifiedAt": 1640995200000
}When modified: true, the system respects your assignment even if POS suggests a different category.
Learn more about POS Sync Protection →
Deleting Categories
OOM-Created Categories
Can be deleted directly:
- Select the category
- Click "Delete Category" button
- Confirm deletion
- Products in the category become unassigned
POS Categories
Cannot be deleted from OOM:
- Will be recreated on next POS sync
- To remove: Delete in your POS system, then sync
- Alternative: Move all products to other categories
Operational Logs
All category operations are logged for audit purposes:
- Category creation and deletion
- Product assignments and movements
- Name and description changes
- POS sync decisions
View logs in the Operation Logs section for troubleshooting and compliance.
API Operations
Get Categories for Location
GET /locations/{locationId}/categoriesReturns all unique categories across menus linked to a location:
[
{
"id": "cat-coffee",
"name": "Coffee",
"productCount": 12
},
{
"id": "cat-pastries",
"name": "Pastries",
"productCount": 8
}
]Update Menu Categories
POST /menus/{menuId}
Content-Type: multipart/form-data
{
"input": {
"categories": [
{
"id": "cat-coffee",
"category": "Coffee",
"description": "Hot and cold coffee drinks",
"displayOrder": 1,
"productIds": ["prod-123", "prod-456"],
"modifications": [
{
"field": "name",
"modified": true,
"valueS": "Coffee & Espresso",
"originalS": "Coffee"
}
]
}
]
}
}Troubleshooting
Category Not Appearing
Possible causes:
- Category has no products assigned
- Filter/search is active
- Category belongs to a different menu
Solution: Check product assignments and clear any active filters.
Changes Lost After POS Sync
Possible causes:
- Modification flag not set properly
- POS sync overwrote changes
Solution:
- Check operation logs for sync details
- Reassign products if needed
- Verify modification tracking is working
- Contact support if issue persists
Cannot Edit Category Name
Possible causes:
- Category is synced from POS (lock icon visible)
- Insufficient permissions
Solution:
- For POS categories: Use display name instead
- For permissions: Contact your administrator