Clarify the appointment
Collect appointment type, duration, location, preferred day and confirmation channel. Convert ‘tomorrow evening’ into a specific date and time for review. Clarify time zones and avoid collecting sensitive details unrelated to scheduling.
Respect live calendar state
Check availability again when committing because another customer may take the slot. Use an idempotent operation. If confirmation delivery fails after booking, resend the existing booking confirmation instead of creating another appointment.
Support recovery
Provide a final summary, reference and policy-appropriate change path. Test occupied slots, slow calendars and changed preferences. Measure correct completed bookings and duplicates, with a handoff when the calendar service fails.