Skip to content
innovorder
⌘K

Product graph

Product Information Management

System map · Catalog distribution
Restaurant
Catalog
Channels

The Innovorder Catalog (PIM) is the backbone of the ordering experience. It uses a flexible, hierarchical, and bi-recursive data structure to model everything from simple coffees to complex, multi-step composite meals.

1Core Entities

  • MenuThe root container. A restaurant can have multiple menus (e.g., "Lunch", "Dinner", "Delivery").
  • CategoryOrganizes products within a menu. Can be nested (Category > Sub-Category).
  • ProductThe sellable item (Burger, Coke) or an option choice (Rare, No Ice).
  • StepDefines a choice or modification (e.g., "Choose Cooking Level", "Select Sides").

2Recursive Logic

The power of the model lies in the Product ↔ Step relationship:

Product (e.g. "Menu Best Seller")
↳ Step (e.g. "Choose Burger")
↳ Product (e.g. "Cheese Burger")
↳ Step (e.g. "Cooking Level")
↳ Product (e.g. "Rare")

Key Concept: The "Menu Hash Map"

Due to the complexity of the graph, retrieving a menu item by item is inefficient. We provide a /hash_map endpoint that returns the entire menu structure in a compressed, normalized JSON format. Front-end applications should load this once and reconstruct the tree locally.