Purpose
visit_unlocked fires when a visit is unlocked. Related events on visits include Visit Type Updated and Visit Type Overridden.
Field guarantees
| Field | Guarantee |
|---|---|
eventData.orderId, visitId, visitIds | ✅ Always present (v1) |
order_id, visit_id in v2 | ✅ Always present |
v1 payload (legacy)
{
"_id": "event::7c8d9e0f-xxxx-xxxx-xxxx-1a2b3c4d5e6f",
"ownerEntity": "pat::117eb3b9-xxxx-xxxx-xxxx-9424274b5425",
"ownerEntityModel": "Patient",
"targetEntity": "prescrfulf::4f5a6b7c-xxxx-xxxx-xxxx-8d9e0f1a2b3c",
"targetEntityModel": "PrescriptionFulfillment",
"eventTitle": "The visit has been unlocked",
"eventDescription": "",
"eventType": "visit_unlocked",
"eventData": {
"orderId": "order::e5576e92-xxxx-xxxx-xxxx-3c3173a3fb82",
"visitId": "vis::a1b2c3d4-xxxx-xxxx-xxxx-5e6f7a8b9c0d",
"visitIds": ["vis::a1b2c3d4-xxxx-xxxx-xxxx-5e6f7a8b9c0d"]
},
"deleted": false,
"createdAt": {
"$date": "2026-01-01T12:00:00.000Z"
},
"updatedAt": {
"$date": "2026-01-01T12:00:00.000Z"
},
"__v": 0
}eventData field | Type | Always? | Notes |
|---|---|---|---|
orderId | string | ✅ | |
visitId | string | ✅ | Primary unlocked visit |
visitIds | string[] | ✅ | All visits unlocked in this action |
v2 payload
Sanitized envelope. visitIds is not allowlisted — use visit_id for the primary visit.
{
"event_type": "visit_unlocked",
"event_id": "event::7c8d9e0f-xxxx-xxxx-xxxx-1a2b3c4d5e6f",
"api_version": "2026-08-09",
"timestamp": "2026-05-30T14:00:00.000Z",
"affiliate_id": "aff::example",
"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",
"visit_id": "vis::a1b2c3d4-xxxx-xxxx-xxxx-5e6f7a8b9c0d"
}The complete order detail is available via the authenticated GET /orders/:id endpoint.
