A revised .ics file can create a second appointment instead of updating the first if the event identity changes. Agree the UID and revision policy before adding calendar downloads. The acceptance question concerns identity across exports; it is separate from resolving the appointment’s timezone or available seats.
Who should use this acceptance brief
Consultants and event businesses offering calendar exports. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.
Source-bound platform fact
iCalendar defines UID for persistent component identity and SEQUENCE for revision information. Actual import/update behaviour still depends on the calendar client and delivery workflow. RFC5545: iCalendar · Checked 16 October 2026.
Filled teaching example
Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.
On narrow screens, scroll to read the complete table.
| Input / case | Check basis | Expected decision |
|---|---|---|
| UID=A seq1 → UID=A seq2 | same identity, newer revision | update candidate |
| UID=A → UID=B | different identity | new-event risk |
| UID=A seq2 → seq1 | older revision | stale review |
Run the acceptance exercise
- Assign a stable synthetic event ID and approve how revisions increase.
- Export original, changed and cancellation cases in a permitted test workflow.
- Import into the supported clients and record whether one event was updated or another created.
Interpret the result and retain evidence
The finite function compares identity and sequence only; it does not generate a valid complete ICS file or perform calendaring transport. A correct comparison does not guarantee a client merges manual imports. Keep the actual calendar application/version, imported files and observed event count in the handover.
Limits before implementation
Excludes timezone rules, invitation security, recurring-event exceptions and live bookings. No calendar access or invitation is requested.
Replay the finite example
Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions
node decision-check.mjs calendar-export-event-identity.json