All field notes
Mobile Apps82 signal · Convention schedules and event details

Convention App Schedule Changes: Keep Saved Panels in Sync

When a panel moves or changes time, update saved sessions against the current schedule, surface conflicts clearly and let attendees control useful alerts.

OSIS Engineering
October 8, 2026 · 6 min read

A convention attendee saves a panel because they intend to go. If its start time or room changes later, the app should not leave a reassuring but outdated item in that personal schedule. Nor should it silently replace the plan when the new time collides with another saved session. The product decision is about more than refreshing a calendar: it requires a reliable current schedule, explicit conflict handling and notification rules that respect user preferences. This guide explains a practical design for keeping saved panels in sync, what to include in an MVP, and how to test the workflow. Any app scenario below is hypothetical; no particular convention or schedule change is being reported.

01 / 03

Treat the published schedule as current, and saved panels as references

Start with a canonical session record that has a stable identifier independent of its title, time or room. A saved item should reference that identifier, not copy a separate schedule that can drift. When an authorised schedule update changes the session, the app can resolve every saved reference to the current record while preserving a record of what changed. This separates the event’s published information from each attendee’s personal plan. It also prevents a renamed panel or corrected description from appearing as a second session merely because its text differs.

Each schedule revision should carry enough context for clients and support teams to determine what is current: a revision identifier, publication or effective timestamp, source or publisher identity, and changed fields. Keep start and end times with an explicit event time zone, and represent room or venue as structured data rather than free text alone. Clients should show the latest successful refresh time and a clear stale or unavailable state if they cannot retrieve an update. A cached schedule remains useful offline, but must not be presented as freshly confirmed. For a public app, the convention’s schedule system or authorised publishing workflow should own the official version; personal saves should never override it.

  • Define a stable session ID and a versioned schedule record before building save, sync or alert features.
  • Display changed time and room details alongside the last-updated time; retain the previous value where change history is useful.
02 / 03

Reconcile changes with each attendee’s saved plan

When a session changes, update the attendee’s saved-session view from the latest canonical record, then evaluate the new interval against their other saved sessions. Treat overlapping time ranges as a conflict, including a change to either the start or end time; do not assume that only start-time changes matter. A venue change may also affect a practical plan even if the time remains the same, so show it as a distinct update. The app can flag a conflict and let the attendee decide which session to keep, remove or investigate. Avoid silently deleting a save: it represents user intent, even when the revised plan is no longer feasible.

A useful screen makes both the new facts and the user’s decision visible. For example, in a hypothetical convention app, a saved panel moves from 14:00 to 14:30 and the attendee has another saved panel beginning at 14:30. The app could mark the first panel as changed, display both sessions in the conflict, and offer actions such as keep both, remove one from the personal schedule, or open session details. It should not claim travel time is sufficient unless venue layout and transition assumptions are available. If those inputs are in scope, label them as estimates and explain their basis; otherwise, leave the decision to the attendee.

For implementation, make update processing safe to retry. A repeated delivery of the same revision should not create duplicate history entries, push notifications or saved items. If updates arrive out of order, compare revision or effective-version information rather than blindly applying whichever payload arrived last. A conflict between authoritative inputs should be held for a defined resolution process, not resolved by client arrival time. These requirements make the schedule service contract, operational publishing permissions and mobile cache invalidation part of the project scope—not details to postpone until visual design is complete.

  • For each update, test time-only changes, venue-only changes, overlapping saved sessions, duplicate delivery and an unavailable network.
  • Keep the attendee’s saved-session action separate from the organiser’s authority to publish the official schedule.
03 / 03

Choose notification rules and an MVP test plan

A push notification is useful when it helps someone act, not merely because a record changed. Consider sending an alert for a material time or venue change to a session the user saved, while allowing preferences for push, in-app updates or a digest where appropriate. A title or description correction may only need an in-app change indicator. Define whether reminders use the revised time and how an already scheduled reminder is replaced; otherwise, users may receive a stale reminder followed by a new one. Include a deep link to the affected session and show the current details in the destination screen, because a notification can be delayed or opened after another revision.

Set notification behaviour from product requirements and operational capacity. Specify eligible changes, deduplication keys, quiet-hour handling if offered, and what happens when delivery fails. Do not imply that a push is guaranteed to arrive or that opening it proves the user saw the update. An in-app change log and current schedule screen should remain the dependable reference. For accessibility, make status and conflict information understandable without relying only on colour, and ensure the changed time, room and available actions are announced clearly to assistive technology. These choices affect backend event processing, app state, design, QA and support documentation, so include them in estimates rather than treating them as a minor finishing feature.

An MVP can begin with stable session IDs, a schedule revision endpoint or feed, saved-session references, visible current details, basic overlap detection and in-app change indicators. Add push alerts for saved-session changes only after the team can reliably identify meaningful revisions and avoid duplicates. A practical release checklist should cover a changed start time, an end-time extension, a room move, two saved sessions becoming concurrent, an update while offline, stale cached data, an attendee saving during a revision, and a repeated or late-arriving update. Validate the publishing workflow with the event operations owner and define who can correct a change. This creates a testable first release without requiring an elaborate recommendation engine or speculative travel-time feature.

  • Before estimating, confirm the schedule source, update frequency, publisher roles, session identity rules, time-zone handling and notification channels.
  • Measure workflow quality with test outcomes such as correct current display, conflict detection and duplicate-alert prevention—not notification volume alone.

A dependable convention schedule feature preserves the organiser’s current published version while keeping each attendee’s saved plan responsive to changes. Stable session identity, revision-aware updates, visible freshness, explicit conflict choices and restrained alerts form the core workflow. Scope the schedule integration and publishing responsibilities early, then test late, repeated, conflicting and offline updates before relying on the feature during an event. The central product principle is simple: update saved panels from the current record, but leave consequential choices about competing plans with the attendee.