Academy / Week 2 / Sync Mechanics Deep Dive / Full Sync vs Partial Sync — With Examples

Full Sync vs Partial Sync — With Examples

Lesson 6.1 ⏱ ~6 min Week 2

💡 Why This Matters

Full sync vs partial sync isn't just a concept — it's a runtime decision made at the start of every SyncApp cycle. Understanding exactly what drives that decision (and how to configure it) will help you tune sync behavior for any integration you build.

🎯 What You'll Learn

  • Precise definitions: full sync = pull all data for an entity; partial sync = pull data based on a condition (last modified time)
  • How the 'last sync time' configuration drives the full vs partial decision
  • A concrete time-based example: if last sync was at 4:00 PM, partial sync calls the PMS API with 'give me all records modified since 4:00 PM'
  • Why full sync and partial sync are not separate cron jobs — they're concepts within a single scheduler
  • How the configuration can be tweaked per use case to force the desired sync type

Watch Video

Open in Google Drive 💡 Open in Drive for AI-powered transcript search and summaries

📋 Lesson Summary

Full sync fetches all data for an entity from the PMS (using a date very far in the past, e.g., 2-3 years ago). Partial sync is incremental — it fetches only data created or modified since the last sync time. The decision is made at the very start of the SyncApp flow by checking the 'last sync time' in configuration. There are no separate cron jobs for each type — they're modes within the same scheduler. The configuration can be manually set to force a full or partial sync based on specific requirements.

🏷 Key Concepts

Full SyncPartial SyncLast Sync TimeScheduler DecisionIncremental SyncPMS API ParameterSync Configuration

Key Takeaways

01Partial sync is driven by a single key: 'last sync time' — if it's recent, do partial; if it's old/absent, do full
02Full sync uses a date in the distant past as the query parameter — it's not a different code path, just a different timestamp
03The scheduler doesn't know or care about full vs partial — it just calls the same flow with different configuration
04Configuration can be tweaked to force a full sync even for an office that's been running for months — useful for data recovery
05Most APIs accept a 'last modified since' parameter — always check for this when building a new integration