Plan local data, queued actions and conflict handling as one complete journey.
Define offline tasks
Reading saved data differs from creating a booking while disconnected. List what must work and what information each task requires. Identify actions that cannot be confirmed locally. Users should distinguish saved, awaiting sync and server-confirmed states, rather than mistake a local record for an accepted transaction.
Choose local data deliberately
Decide which records are cached, when they refresh and when they expire. Protect sensitive local data and avoid retaining unnecessary records. Android’s offline-first guidance helps explain data-layer responsibilities. The product decision remains which information a person needs to finish a task under an unreliable connection.
Resolve conflicting changes
Two devices may edit the same record before reconnecting. Decide whether changes can merge, one takes priority or a person must review. Provide enough history to resolve uncertainty. Queued operations need duplicate protection so a reconnect or repeated retry does not create the same action twice.

Test reconnection
Close the app with queued work, switch networks during a save and reconnect after server-side changes. Check whether the interface reflects the actual sync state. Provide retry and escalation routes. Offline capability is complete only when returning online is as carefully handled as working without a connection.
Your next working session.
- Separate saved from confirmed
- Agree conflict rules
- Test reconnection
Bring one real, anonymised example to the discussion. Work through the choices above with the person responsible for the outcome, record the unresolved questions and agree who will investigate them.
Further reading
Primary references for the technical concepts discussed in this guide:
Elite Apps editorial · Practical planning guidance. Examples and diagrams are illustrative; implementation depends on your requirements. Technical and supplier guidance can change.