Group scheduling API completion architecture

    Group Scheduling API: Verify Every Invitation Before Reporting Booked

    By Tevye Krynski17 min read

    The calendar API returned 201. Your agent announced that everyone was booked. One required attendee was omitted, the Microsoft write created a different zone than the approved proposal, and the conference link never landed in the event participants received. The write succeeded. The meeting did not.

    Build invitation verification into the booking path in eight steps

    Use one hard meeting with four required people, two optional people, Google and Microsoft calendars, one unconnected participant who supplied a bounded window, one conference link, duplicate booking delivery, and a hidden response after the provider write.

    1. 1

      Define completion in the meeting-intent schema

      Persist authenticated organizer, purpose, duration, bounded date range, chosen IANA zone, required and optional participant entities, approved substitutes, organizer calendar, location or conferencing policy, disclosure, approval mode, and terminal proof. State which facts must be verified before the API may return confirmed.
      • Every required human has one participant identity independent from an attendee string.
      • Optional inclusion or exclusion is explicit in the approved revision.
      • A proposal, hold, poll winner, or provider request is never terminal success.
    2. 2

      Build the proposal from current connected and conversational evidence

      Read approved Google and Microsoft free/busy, then collect bounded availability from anyone who does not connect a calendar. Normalize identity, source, IANA zone, retrieval or reply time, consent, freshness, expiry, and provider errors. Intersect every required person before ranking optional attendance and preferences.
      • Calendar connection remains optional and helpful.
      • Missing access, silence, and stale evidence remain unknown rather than free.
      • The proposal records the exact evidence versions that produced it.
    3. 3

      Bind approval to one immutable booking command

      Capture meeting ID, revision, proposal ID, exact start and end, IANA zone, organizer calendar, required participant IDs, selected attendee addresses, optional decisions, conferencing policy, disclosure, and approver authority. Derive one booking operation identity from that approved tuple and reject stale approvals.
      • A participant or calendar change invalidates the old command.
      • Repeated client and worker delivery resolve to one logical booking.
      • Booking, rescheduling, and cancellation use separate authorized commands.
    4. 4

      Re-check required availability immediately before the write

      Refresh every required connected calendar and confirm conversational evidence is still current. Re-run hard constraints, time-zone conversion, buffers, consent, and approval expiry. If the approved slot changed materially, return proposal-stale rather than writing first and apologizing later.
      • Optional attendance cannot rescue a collision for a required person.
      • The chosen local times still match the approved IANA zones across daylight-saving boundaries.
      • Provider read errors pause the affected write instead of being treated as free time.
    5. 5

      Write one canonical event and persist provider identities

      Create the event on the approved organizer calendar with the exact time, zone, required attendee addresses, approved optional attendees, and conferencing or location data. Persist provider, calendar, event, recurring-series or occurrence identity, operation key, response, notification policy, and side-effect state outside the model loop.
      • Notification behavior is explicit rather than an unchecked SDK default.
      • The organizer event is distinguishable from attendee copies.
      • A timeout enters unknown-write-state and does not trigger a blind second create.
    6. 6

      Reconcile uncertain responses before retrying

      When the create response is missing or ambiguous, query the exact organizer calendar using stored operation and provider identities. Classify event-present, event-absent, duplicate, moved, permission-lost, attendee-mismatch, or unknown. Retry only the same authorized command after evidence says no equivalent event exists.
      • A timeout is not assumed to mean failure.
      • Duplicate events become repair work before any success response.
      • Retries cannot expand participants, disclosure, time, or calendar scope.
    7. 7

      Read back a completion manifest from provider truth

      Fetch the canonical event and verify organizer, calendar, start, end, IANA zone, duration, event status, every required attendee address, approved optional decision, conferencing or location, and invitation-notification policy where the provider exposes it. Map addresses back to participant entities and preserve provider-specific limits as explicit unknowns.
      • One missing required attendee keeps the meeting out of confirmed state.
      • A correct attendee count cannot hide the wrong intended human.
      • The API distinguishes verified provider fields from inferred delivery claims.
    8. 8

      Repair mismatches and return one honest terminal result

      For a safe deterministic mismatch, issue a versioned repair under the original authority and verify again. Route identity, permission, disclosure, organizer, time, or participant-scope conflicts to a named human owner. Return confirmed with the completion manifest only after proof; otherwise return a bounded state with evidence, next action, and retry policy.
      • The result identifies verified, unknown, and failed completion fields separately.
      • All participant outreach, reminders, proposals, writes, repairs, and read-backs share one trace.
      • Terminal proof survives model, worker, and provider restarts.

    A provider write response is not a meeting receipt

    A successful create response proves that a provider accepted and returned a resource under its contract. It does not by itself prove that the resource still matches the approved meeting, that every intended human is represented, or that an uncertain retry did not create another event.

    Read-back moves the completion boundary to observable calendar state. The system can then say exactly what it verified and what remains provider-dependent or unknown.

    Verification needs participant entities, not only addresses

    Calendar providers identify attendees with addresses. Meeting intent identifies humans and roles. The completion manifest must join those layers so two aliases for one person do not satisfy two required roles and a shared mailbox does not replace the intended executive.

    That identity join also makes repair safer. A corrected address can create a new revision without losing why the original command targeted another account.

    Links, polls, sync utilities, and drafted messages end before proof

    A booking link can record a selection. A poll can name a winning option. A sync utility can copy an event. A drafting assistant can announce the time. None automatically proves that the approved hard meeting exists once, on the right organizer calendar, with the right required people and final event details.

    Scheduling execution finishes at verified invitation state or a precise exception. WonderCal’s direction is to give agents that wider boundary without making each developer rebuild calendar reconciliation and participant repair.

    Run the missing-attendee acceptance test

    Approve one mixed-provider meeting, omit one required attendee from the first write, alter the returned zone, duplicate the worker command, and hide the first provider response. Add one optional participant after approval and one attendee alias that resembles a required person.

    Pass when stale expansion is rejected, duplicate delivery collapses, uncertain state reconciles, read-back finds the missing human and wrong zone, repair stays inside authority, and confirmed appears only after one correct event is verified. Fail when 201 becomes a victory lap.

    Compare booking systems by what they can prove

    The production boundary is not event-created. It is one authorized meeting whose final provider state agrees with the approved participant contract.

    Execution completion

    Direct calendar create call

    Creates a provider resource; meeting-wide intent and participant proof remain application work.

    Custom booking and verification layer

    Can verify full completion when participant identity, provider read-back, and repair are built around the write.

    WonderCal execution direction

    Target path returns a verified meeting manifest or one bounded repair state.

    Cross-company reach

    Direct calendar create call

    Writes addresses accepted by one organizer provider and credential scope.

    Custom booking and verification layer

    The team must join mixed providers, tenants, identities, and external participant channels.

    WonderCal execution direction

    Designed for required and optional people across Google, Microsoft, companies, and unconnected calendars.

    Optional-sync fallback

    Direct calendar create call

    Has no evidence path for a participant represented only by a bounded conversation.

    Custom booking and verification layer

    Custom logic can connect conversational evidence to the final attendee contract.

    WonderCal execution direction

    Target model carries connected and unconnected participant evidence into the same verified result.

    Recovery and observability

    Direct calendar create call

    Returns provider status; duplicates, uncertain writes, identity mismatch, and read-back repair need more state.

    Custom booking and verification layer

    Full control, with operation keys, reconciliation, manifests, traces, and operator tools to maintain.

    WonderCal execution direction

    Target release should expose approval, provider identities, writes, retries, mismatches, repairs, and proof.

    Time to ship

    Direct calendar create call

    Fast for a basic event; completion assurance remains on the agent team.

    Custom booking and verification layer

    Rational when invitation integrity is infrastructure the team intends to own.

    WonderCal execution direction

    Worth adopting when the live contract removes verification work without hiding provider truth.

    Frequently asked questions

    What should a group scheduling API verify after booking?

    Verify organizer, calendar, event identity, start, end, IANA zone, duration, event status, every required attendee, approved optional attendees, location or conferencing, and notification policy where the provider exposes it. Map attendee addresses back to intended participant entities.

    Is an HTTP 201 response enough to mark a meeting confirmed?

    No. It shows that a provider create operation succeeded under that API contract. Reconcile uncertain retries and read back the canonical event before claiming that the approved hard meeting exists once with the right people and details.

    How should an API handle a missing required attendee after event creation?

    Keep the meeting in repair state, identify whether the mismatch came from identity, approval, request construction, provider behavior, or permissions, then issue a scoped versioned repair only when authority remains valid. Verify again before confirmation.

    Can invitation delivery be fully verified from a calendar API?

    Provider APIs expose different event, attendee, and notification facts. Report those verified fields precisely and label delivery or acceptance as unknown when the provider does not prove it. Do not turn a send request into a human-read claim.

    Where can developers review WonderCal’s completion direction?

    Visit WonderCal for AI agents. Test current meeting intent, participant identity, optional-sync evidence, idempotency, provider read-back, repair, observability, and completion behavior before production use.

    Primary sources

    Related WonderCal reading

    Make confirmed a proof-bearing state

    Omit an attendee, change a zone, duplicate the command, and hide the provider response. Keep the meeting unconfirmed until one correct event survives read-back.

    Review WonderCal for AI agents