Order Appointment Scheduled

Fires when an appointment is scheduled for an order (via the appointment-scheduling integration). targetEntity is the Order. The eventType is order_appointment_scheduled.

Field guarantees

FieldGuarantee
eventData.orderId, appointmentType, startDateTime, duration⚠️ Conditional — only emitted by the appointment-scheduling integration; participants may be empty
Appointment fields in v2⛔ Not delivered — only order_id maps to the allowlist
🚧

Appointment detail is v1-only. v2 payloads carry order_id but not appointmentType, startDateTime, duration, or participants. Keep this webhook on v1 for appointment details.

v1 payload (legacy)

{
  "_id": "event::a1b2c3d4-xxxx-xxxx-xxxx-e5f6a7b8c9d0",
  "ownerEntity": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
  "ownerEntityModel": "Patient",
  "targetEntity": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
  "targetEntityModel": "Order",
  "eventTitle": "Appointment scheduled for the order.",
  "eventType": "order_appointment_scheduled",
  "eventData": {
    "orderId": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
    "appointmentType": "synchronous_visit",
    "startDateTime": "2026-06-02T15:30:00.000Z",
    "duration": 30,
    "participants": ["usr::154300b9-xxxx-xxxx-xxxx-c09f9be9f8d7"]
  },
  "deleted": false,
  "createdAt": { "$date": "2026-01-01T12:00:00.000Z" },
  "updatedAt": { "$date": "2026-01-01T12:00:00.000Z" },
  "__v": 0
}
eventData fieldTypeAlways?Notes
orderIdstring⚠️Present when the integration fires the event
appointmentTypestring⚠️e.g. synchronous_visit
startDateTimedate⚠️Appointment start
durationnumber⚠️Minutes
participantsstring[]⚠️May be empty

v2 payload

Sanitized envelope. orderId aliases to order_id; the other appointment fields are not on the ORDER allowlist and are dropped.

{
  "event_type": "order_appointment_scheduled",
  "event_id": "event::a1b2c3d4-xxxx-xxxx-xxxx-e5f6a7b8c9d0",
  "api_version": "2026-08-09",
  "timestamp": "2026-05-30T14:00:00.000Z",
  "affiliate_id": "aff::xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "patient_id": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
  "patient_external_id": "ext-patient-123",
  "patient_marketing_consent": false,
  "is_returning_patient": false,
  "order_id": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
  "order_status": "requires_provider_review"
}
FieldDelivered in v2Notes
Envelope + patient identity
order_id, order_statusResolved from the target order
appointmentType, startDateTime, duration, participantsNot on the allowlist