Outbound status events
Webhooks notify external systems when imported targets are planned, routed, started, completed, documented or marked as billing-relevant.
target.importedroute.suggestion.createdroute.publishedappointment.completedvisit_report.approvedbilling.event_created
Event types
| Event Type | Description |
|---|---|
target.imported | Sent when an inbound target was imported successfully |
target.rejected | Sent when an inbound target was rejected |
target.updated | Sent when an imported target was updated |
target.cancelled | Sent when an imported target was cancelled |
target.scheduled | Sent when a target is scheduled as an appointment |
route.suggestion.created | Sent when a route suggestion was created |
route.published | Sent when a route was published to an employee |
appointment.started | Sent when an employee starts an appointment |
appointment.completed | Sent when an employee completes an appointment |
appointment.problem_reported | Sent when an employee reports a problem |
visit_report.approved | Sent when a visit report is approved |
visit_report.follow_up_required | Sent when a report requires follow-up work |
billing.event_created | Sent when a billable approved visit creates a billing trigger event |
CustomerContext in webhooks
CustomerContext is included to help external systems connect Ordinavo events back to their own customer, site and contact records.
{
"customer": {
"ordinavoCustomerId": 12,
"externalId": "CUST-10042",
"customerNumber": "RRM-001",
"name": "Rhein-Ruhr Medical Supply"
},
"location": {
"ordinavoLocationId": 34,
"externalId": "LOC-ESSEN-01",
"name": "Essen Center"
},
"contact": {
"ordinavoContactId": 56,
"externalId": "CONT-44",
"displayName": "Anna Weber"
}
}
- External IDs are resolved for the source system of the integration client.
- Customer numbers are read from the Ordinavo customer record.
- Target records do not carry customer numbers; customer numbers are read from the mapped customer record.
- Internal notes and secrets are never included in webhook payloads.
Payload options
| Option | Default | Description |
|---|---|---|
IncludeCustomerContext | true | Includes customer and location context. |
IncludeContactDetails | true | Includes operational contact details. |
IncludeSummaryPreview | false | Includes a shortened report summary preview. |
IncludeBillingDetails | false | Includes billing event details when enabled and allowed. |
Privacy default
Summary previews and billing details are disabled by default to reduce accidental exposure of sensitive information.
Payload format
{
"eventId": "evt_01HYZ9M3RA",
"eventType": "appointment.completed",
"eventVersion": "v1",
"tenantId": 15,
"occurredAtUtc": "2026-06-25T14:31:00Z",
"deliveryId": "del_01HYZ9M9VQ",
"source": "ordinavo",
"data": {
"targetId": 991,
"externalId": "DEL-2026-000918",
"sourceSystem": "logistics_erp",
"appointmentId": 441,
"status": "Completed"
}
}
eventId remains stable across retries. deliveryId identifies one delivery attempt to one subscription. External systems should store eventId to avoid duplicate processing.