Vendion
    Chain Operations

    Publish Menu to Restaurants

    3 min read#8

    Once the menu template is built, the next step is to publish it to member restaurants. Publishing is a deliberate action – nothing is pushed automatically when you edit the template.

    Two modes: preview and publish

    1. Preview (dry-run) – runs logic without changing anything, shows what would happen
    2. Real publish – actually applies the changes to local menus

    Always start with dry-run, especially first time or after big changes.

    How publishing works

    Per restaurant:

    1. For each template item, check if a local copy already exists
    2. If NO local copy: create a new row in the local menu with the template's values and locks
    3. If local copy EXISTS: update only locked fields with the template's values, PRESERVE unlocked local changes
    4. Bong-destination: find local bong with matching name, or auto-create + log if anything doesn't match
    5. Allergens: translate to local allergen associations
    6. Modifiers: publish groups and options same way

    The publish dialog

    1. Go to /chain/:slug/meny-mall
    2. Click "Publish menu"
    3. Choose target restaurants (checkboxes)
    4. Click "Preview" → dry-run result
    5. Review
    6. Click "Publish" → real run

    Result summary

    Publish ID, counts of created/updated/skipped items, any mapping issues, and a per-restaurant breakdown.

    First publish vs re-publish

    First time: all items added to each restaurant.

    Second time: only locked fields are updated. Raising price in template from 24.95 to 26.95 with price locked updates all local copies.

    Example: Raise price across chain

    Alice published to 5 units. Wants to raise "Classic burger" from 24.95 to 26.95:

    1. Edits template item → price = 2695 öre
    2. Saves
    3. Click "Publish menu"
    4. Preview: "5 items will be updated"
    5. Publish → all 5 restaurants now have 26.95

    Local POS terminals update immediately.

    Conflict handling

    Scenario: Template says "Classic burger" / 24.95. Local has "Large Burger" / 29.95 and "Extra large" description.

    With name locked, price locked, description unlocked:

    • name overwritten → "Classic burger"
    • price overwritten → 24.95
    • description preserved → "Extra large" stays

    Deterministic logic – no prompt, no manual merge.

    Mapping issues

    Scenario: Template says bong_destination_logical_name = "Hot kitchen". Restaurant has "Kitchen 1" and "Kitchen 2".

    Result: auto-creates "Hot kitchen" as new bong destination with default printer. Logs mapping issue. Chain admin reviews.

    Publish to only some restaurants

    Yes. Checkboxes let you pick subset. Use for regional tests – release new dish to Stockholm first, evaluate 2 weeks, publish to all if successful.

    Warnings

    • Modifier changes: parked local orders may become inconsistent. Publish during low load.
    • Category change: if category locked and changed in template → all local copies change. May break POS layout.
    • Large batches: system handles up to ~100 restaurants per publish.

    Next step: Read about local overrides and locked fields.

    This feature is part of Vendion Chain Operations.

    Curious how it looks in practice? Read more about the product or book a short demo.

    Was this article helpful?