BLogic Systems

Menu Sync Cloud

Last updated on 

Menu Sync To Cloud

Overview

This feature enables end-users and support teams to modify the website menu and sync it with the POS menu on the local system.

Focus: This document explains how syncing menus work. Future enhancements may include other cloud-based features for POS systems.


Key Concepts

  1. Data Center
    The “cloud” where menu data is stored. It provides APIs for managing menus through the Menu Builder Online website.
  2. Sync Client
    A small application installed on the local POS system that synchronizes menu data between the local POS database and the cloud.
simple-sync-client-pos.drawio_(2).png
simple-sync-client-pos.drawio_(2).png

How Sync Works

  1. Last Sync Record
    • A timestamp in the database tracks when the last sync occurred.
  2. Updated At Field
    • Every menu item (both in the cloud and locally) has an Updated At timestamp that shows the last time it was modified.
    • Sync Process:
      • Items changed since the Last Sync are identified and processed.
      • The system merges changes between local and cloud databases based on the Updated At field.
      • Conflict Handling: If a menu item was modified both locally and in the cloud after the last sync, the most recent change is kept.
  3. Soft Deletes
    • Menu items are hidden instead of being permanently deleted.

Sync Client Usage Guide

First Sync

The first sync initializes the process and sets up the cloud and local data.

  • Sync All
    • Syncs all menu data between the cloud and local system.
    • Also resolves any initial sync issues.
  • Delete All
    • Deletes all cloud data.
    • Use this if the first sync fails or if you need to reset the cloud menu data.
  • Create Records for Images Folder
    • Prepares records for menu images before syncing them.

Normal Sync

Runs after the first sync to keep data up to date.

  • Sync
    • Updates changes made to the menu.
    • Designed for faster syncing.
    • Includes rollback support, which reverses changes if the sync fails.