🚧 This documentation website is under construction!
Menus
Category Management

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: true in the data model

Visual Indicator: No lock icon; pencil icon for editing

Creating Categories

Via Interface

  1. Navigate to Menus → Select your menu → Products tab
  2. Click "Edit" to enter edit mode
  3. Click "+ Category" button at the top
  4. Enter category name inline
  5. 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:

  1. Enter edit mode on the Products page
  2. Click the pencil icon next to the category name
  3. Type new name
  4. Click outside or press Enter to save

Category Details

Update descriptions and display order:

  1. Select the category
  2. Click "Edit Category" button
  3. Modify description, display order, or other fields
  4. Click "Save" to apply changes

Field Protection Rules

FieldPOS CategoryOOM 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:

  1. Click "Sort Categories" button
  2. Drag and drop categories into desired order
  3. 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:

  1. Select the category
  2. Click "Delete Category" button
  3. Confirm deletion
  4. 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}/categories

Returns 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"
          }
        ]
      }
    ]
  }
}

View Complete API Reference →

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:

  1. Check operation logs for sync details
  2. Reassign products if needed
  3. Verify modification tracking is working
  4. 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

Next Steps

Product Assignment

Learn how to assign products to categories

Read Guide →

POS Sync Behavior

Understand sync protection mechanisms

Learn More →