Academy / Week 3 / Type 3 Integration Implementation / Appointment Status Mapping, Push Types & Lasting Times

Appointment Status Mapping, Push Types & Lasting Times

Lesson 14.2⏱ ~10 minWeek 3

πŸ’‘ Why This Matters

Appointment status mapping is one of the trickiest parts of a Type 3 integration β€” every PMS has different status names. Lasting times control partial sync behavior. Understanding both will prevent the most common Type 3 implementation bugs.

🎯 What You'll Learn

  • How upon_new_status generates a status map when offices configure their appointment settings
  • Why the same status can map to multiple Weave values (e.g., two PMS statuses both mapping to 'attempted_at')
  • What lasting times store: per-entity last-sync timestamps used as the partial sync cutoff
  • How lasting times are used in full sync vs partial sync code paths
  • What happens when you add a new status mapping and why you must re-test the configuration

β–Ά Watch Video

Open in Google Drive πŸ’‘ Open in Drive for AI-powered transcript search

πŸ“‹ Lesson Summary

The upon_new_status method is triggered by push types when the office configures appointment statuses. It generates a map of PMS status values β†’ Weave status enum values. Example: OpenDental might have 'Confirmed' and 'CONF' both mapping to 'attempted_at'. If two PMS values accidentally map to the same Weave value, you'll see duplicates in the configuration map β€” a bug to watch for. Lasting times are per-entity timestamps stored by SyncApp. During the full/partial sync decision, SyncApp reads the lasting time: if present, it's used as the 'since' parameter for partial sync; if absent, full sync runs. Lasting times are updated after each successful sync.

🏷 Key Concepts

upon_new_status MethodAppointment Status MapStatus Value MappingDuplicate Status Mapping BugLasting TimesPer-Entity TimestampPartial Sync CutoffFull Sync Fallback

⭐ Key Takeaways

01Test upon_new_status configuration carefully β€” accidental duplicate mappings are a common Type 3 bug
02Lasting times are the 'memory' of when each entity was last synced β€” never delete them manually in production
03If lasting times are corrupted or missing, SyncApp falls back to full sync for that entity
04The upon_new_status map is generated at configuration time, not at sync time β€” offices must reconfigure if PMS status values change
05Document the specific PMS status values for each integration β€” they vary wildly between vendors