Running a restaurant is hard enough without worrying about your internet connection. But in Syria, unreliable connectivity is not an edge case — it is the norm. Power cuts, congested mobile networks, and spotty WiFi can strike at any moment, and they always seem to hit hardest during the Friday evening rush. Sync was built from the ground up with an offline-first architecture so that your restaurant never stops taking orders, even when your internet does.

This guide explains exactly how Sync's offline system works, what data is cached, how orders queue up and sync automatically, and what you can do to get the most out of it.

9
Data Types Cached
400ms
Repeat Load Time
3
Auto-Retries

Why Offline Matters in Syria

If you operate a restaurant in Damascus, Aleppo, Beirut, or Tripoli, you already know the reality: electricity schedules are unpredictable, generator fuel is expensive, mobile data throttles during peak hours, and even a decent WiFi router cannot help when the upstream connection from your ISP drops. In many neighbourhoods, internet outages lasting anywhere from a few minutes to several hours are a weekly occurrence.

For a restaurant that depends on a digital ordering system, an internet outage could mean disaster. Imagine a packed dining room on a Thursday evening: waiters cannot pull up the menu, the kitchen display goes blank, and incoming delivery orders vanish into the void. If your software only works when it is connected to the internet, you are essentially gambling your busiest hours on the reliability of your local ISP.

This is why Sync treats offline support not as a nice-to-have feature but as a core architectural principle. The entire application is designed to function seamlessly whether you are connected, disconnected, or somewhere in between. Your staff should never have to think about the internet — they should only have to think about the food and the customers.

How Sync Handles Going Offline

Sync uses a straightforward but powerful caching pattern that ensures your data is always available. Here is how it works in practice:

When you are online, every time Sync fetches data from the server — your orders, your menu, your settings — it simultaneously saves a copy of that data to your device's local cache. This happens silently in the background. You never have to press a "download" button or manually sync anything. Every API response is automatically cached so that a local copy always exists.

When you go offline, Sync detects the connectivity loss within seconds and seamlessly switches to serving data from the local cache. Your orders list, product catalogue, table layout, delivery drivers, reservations — everything continues to appear on screen exactly as it did moments before. The transition is so smooth that many users do not even notice when they have gone offline.

When an API call fails for any reason — timeout, server error, network interruption — Sync automatically falls back to the cached version of that data rather than showing you an error screen. This means even intermittent connectivity problems, where your connection drops for a few seconds at a time, are handled gracefully without disrupting your workflow.

Sync caches nine distinct data types to ensure comprehensive offline coverage:

Together, these nine data types cover virtually every screen and workflow in the application. Whether you are checking tonight's reservations, reviewing a delivery driver's active orders, or browsing your product catalogue to answer a customer's question, the data is available locally on your device.

Offline Order Taking

Caching read-only data is useful, but the real power of Sync's offline system is that you can continue to create and modify orders even without an internet connection. This is the feature that matters most during a busy service — the ability to keep taking orders, updating their statuses, and editing items, regardless of what your WiFi is doing.

Here is how it works under the hood. When you perform a write action while offline — creating a new order, changing an order's status from "preparing" to "ready," or editing the items on an existing order — Sync does not simply discard that action or show an error. Instead, it saves the action to an internal queue managed by the PendingSyncService. Each queued action is marked with an isDirty flag, indicating that it has not yet been sent to the server.

The three supported offline write actions are:

The moment your internet connection returns, Sync's PendingSyncService kicks in automatically. It works through the queue in chronological order, sending each pending action to the server. If a sync attempt fails — perhaps the connection is unstable and drops again — Sync will retry automatically, up to a maximum of three retries per action. This retry mechanism ensures that even on a flaky connection that comes and goes, your data will eventually make it to the server without you having to do anything manually.

💡

Tip: You will see a small sync indicator on queued orders so you always know which ones are waiting to be uploaded. Once the connection returns and the sync completes, the indicator disappears and the order is fully confirmed on the server.

From the staff's perspective, the experience is nearly identical whether they are online or offline. They tap the same buttons, follow the same workflows, and see the same screens. The only visible difference is a small OfflineBanner that appears at the top of the screen when connectivity is lost, accompanied by a manual retry button in case you want to force a reconnection attempt. Sync's ConnectivityService polls the backend every five seconds, so the banner disappears automatically within moments of your connection being restored.

Proactive Caching

Sync does not wait for you to visit each screen before caching its data. Instead, the ProactiveCacheService pre-loads your most critical data immediately after you log in and again every time the app restarts. This means that even if you lose internet five seconds after opening the app, all of your essential data is already stored locally and ready to use.

The proactive cache loads data in a carefully chosen priority order, ensuring the most important information is available first:

  1. Orders — your active and recent orders are loaded first because they are the most time-sensitive data in any restaurant operation
  2. Delivery Guys — driver availability and assignments come next, critical for dispatching deliveries
  3. Restaurant Settings — your business configuration, currency settings, and preferences
  4. Products — your full menu catalogue with prices and availability
  5. Categories — menu organization and groupings
  6. Tables and Reservations — floor plan data and upcoming bookings
  7. Activity Logs and Reports — historical data and analytics

This priority ordering means that within the first few seconds of opening Sync, your orders and delivery data are already cached. Even if your connection drops during the initial load, you will have the most critical data available. The less time-sensitive data like reports and activity logs load in the background afterward.

💡

Tip: Open Sync 10-15 minutes before your peak hours begin. This gives the proactive cache time to fully load all nine data types, ensuring you have comprehensive offline coverage before the rush starts. Think of it as warming up the kitchen — except you are warming up your data.

The PWA Advantage

Sync is built as a Progressive Web App (PWA), which means it benefits from a Service Worker that sits between the application and the network. The Service Worker is a background script that intercepts every network request and applies intelligent caching strategies to make the app faster and more resilient.

For static assets — the HTML, CSS, JavaScript, images, and fonts that make up the application interface — Sync uses a Cache First strategy. This means the app shell loads from the local cache immediately, without waiting for a network response. The result is that Sync's interface appears almost instantly on repeat visits, even on slow connections.

For API requests — the dynamic data like your orders, products, and settings — Sync uses a Network First strategy. It tries to fetch fresh data from the server, but if the network is unavailable or too slow, it falls back to the cached response seamlessly.

The performance improvement is dramatic. On a first visit, loading Sync over a typical Syrian mobile connection might take around 2.5 seconds. On a repeat visit, with the Service Worker cache warmed up, the same load takes approximately 400 milliseconds — roughly six times faster. The full user interface renders and becomes interactive in under half a second, making Sync feel like a native app installed on your device rather than a website loaded over the internet.

For the best offline experience, we strongly recommend installing Sync as a PWA on your device. On Android, open Sync in Chrome and tap "Add to Home Screen." On iOS, open it in Safari and tap the share icon, then "Add to Home Screen." Once installed, Sync launches in its own window without browser navigation bars, loads instantly from the Service Worker cache, and behaves like a native application — including full offline functionality.

Managing Your Cache

Sync gives you full visibility into what is cached on your device and how much storage it uses. Navigate to Settings > Data & Storage to access the cache management panel. Here you will find:

💡

Tip: Check the Data & Storage screen occasionally, especially if you notice any unusual behaviour. A healthy cache will show recent sync times and reasonable item counts. If something looks off, use the clear cache button and let Sync rebuild it on your next login.

Best Practices

Sync's offline system is designed to work automatically without any configuration, but a few simple habits can help you get the most out of it:

Open Sync Before Peak Hours

Make it part of your pre-service routine. Just as your kitchen preps ingredients before dinner service, open Sync 10-15 minutes early to let the proactive cache fully load. This ensures that if your internet drops during the rush, every piece of data you need is already stored locally. A fully warmed cache means your staff can work uninterrupted regardless of connectivity.

Install the PWA

Installing Sync as a Progressive Web App on your devices is the single most impactful thing you can do for offline reliability. A PWA installation caches the entire application shell locally, so even the interface itself loads without needing the internet. Combined with the data cache, this means Sync is fully functional offline — from the moment you tap the icon to the moment you close the app. It also loads six times faster on every visit.

Keep an Eye on Data & Storage

You do not need to check this screen daily, but a quick glance once a week gives you peace of mind. Verify that the last sync time is recent, confirm that item counts look reasonable (if you have 50 products in your menu but the cache shows 0, something may need a refresh), and note the total storage size. If anything seems off, the clear cache button gives you a clean slate.

Do Not Worry About Storage Space

Restaurant data is lightweight. Your entire menu, order history, reservations, and settings typically occupy only 5-10 MB of local storage. To put that in perspective, a single photo from a modern smartphone camera is often larger than your entire Sync cache. Even the most entry-level devices have hundreds of times more storage than Sync will ever use, so there is no need to ration or micro-manage your cached data.

Trust the Auto-Sync

When you create or modify orders offline, Sync queues them automatically and syncs them the moment connectivity returns. You do not need to manually push changes, press a sync button, or remember which orders were taken offline. The PendingSyncService handles everything in the background with up to three automatic retries per action. Your only job is to keep serving customers — Sync will take care of getting the data to the server when it can.

💡

Tip: If you are in an area with extremely unreliable internet and want maximum peace of mind, consider connecting your Sync device to a mobile hotspot from a different carrier as a backup. Even a slow 3G connection is enough for Sync's lightweight API calls, and having a fallback network can reduce the amount of time spent in fully offline mode.

Sync's offline-first architecture was designed for the reality of operating a restaurant in Syria — where internet is a convenience, not a guarantee. With proactive caching, offline order taking, automatic sync, and PWA-level performance, your restaurant keeps running no matter what your ISP is doing. Your customers get served, your kitchen stays informed, and your orders never get lost. That is what offline-ready means.