reschedule_appointment
Move an existing appointment to a different slot atomically. When specified, restrict moves to earlier appointments only.
Instructions
Move an existing appointment to a different slot (atomic; never cancels without rebooking).
Only moves to the slot you explicitly pass. With require_earlier (default), it first
confirms the new slot is strictly earlier than the current appointment and otherwise
refuses — so an unattended 'earlier slot' routine can't accidentally move an appointment
later. The portal re-validates the slot at reschedule time.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| patient_id | Yes | MRN of the patient. REQUIRED — never guessed. | |
| new_slot_date | Yes | The new slot's datetime (ISO, as shown by search_slots). Used for the earlier-only safety check and to report the move. | |
| appointment_id | Yes | The `appointment_id` of the existing appointment to move. | |
| booking_string | Yes | `booking_string` of the new slot (from search_slots). | |
| require_earlier | No | If true (default), refuse the move unless the new slot is strictly earlier than the current appointment — for the 'find an earlier slot' use case. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| message | No | ||
| new_date | No | ||
| old_date | No | ||
| rescheduled | Yes |