Order Visit Required

Fires when an order is held until the patient completes a follow-up visit — typically a subscription refill that requires a check-in before it can be filled. Telegra notifies the patient by SMS and email at the same time. ownerEntity is the Patient; targetEntity is the Order. The eventType is order_visit_required.

Unlike order_created, this event concerns a returning patient whose next fill is already blocked. The visit link is the action item.

Field guarantees

FieldGuarantee
eventData.orderLink⚠️ Present whenever the link could be generated — same URL sent to the patient
order_id in v2✅ Always delivered (ORDER allowlist)
order_link in v2⚠️ Delivered only when orderLink was resolved

v1 payload (legacy)

{
  "_id": "event::8d367e3b-xxxx-xxxx-xxxx-3c6b7dfb804a",
  "ownerEntityModel": "Patient",
  "targetEntityModel": "Order",
  "deleted": false,
  "ownerEntity": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
  "targetEntity": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
  "eventTitle": "A follow up visit is required on this order. The patient was notified via SMS and email.",
  "eventType": "order_visit_required",
  "eventData": {
    "orderLink": "https://visit.example.com/shortUrl/a1b2c3d4e5f6a7b8"
  },
  "createdAt": { "$date": "2024-08-16T12:28:38.044Z" },
  "updatedAt": { "$date": "2024-08-16T12:28:38.044Z" },
  "__v": 0
}
eventData fieldTypeAlways?Notes
orderLinkstring⚠️The follow-up visit URL sent to the patient. Omitted if the link could not be generated. Expires 7 days after it is issued.

v2 payload

Sanitized envelope. orderLink aliases to order_link. Patient name/email/phone are not included (PHI blocklist); use envelope patient_id / patient_external_id.

{
  "event_type": "order_visit_required",
  "event_id": "event::8d367e3b-xxxx-xxxx-xxxx-3c6b7dfb804a",
  "api_version": "2026-08-17",
  "timestamp": "2026-05-30T14:00:00.000Z",
  "timestamp_epoch": 1780149600,
  "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": true,
  "order_id": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
  "order_status": "started",
  "order_link": "https://visit.example.com/shortUrl/a1b2c3d4e5f6a7b8"
}
FieldDelivered in v2Notes
Envelope + patient identity✅Includes timestamp_epoch
order_id, order_status✅Resolved from the order
order_link⚠️Same link sent to the patient in the SMS/email
attribution, journey_id⚠️See Attribution Passthrough

Using the visit link

The order stays on hold until the visit is completed, so this is a good trigger for your own follow-up sequence. Cancel that sequence on order_submitted, which fires once the patient finishes the visit. Unlike order_created, journey_completed is not an alternative here — this visit is attached to the order rather than to a journey, so no journey event will arrive for it.

The link expires 7 days after it is issued, so a sequence that runs past a week should stop rather than send a dead link. If Telegra sends its own reminder for the order in the meantime, order_reminder_sent carries the link again with its 7-day window reset — an affiliate-triggered resend does the same, and neither depends on a project setting. Don't build your timing around it, though: only Telegra's scheduled repeat reminders are automatic, and those need the order's project to have a reminder frequency configured.