Ordinavo Connect API v1

Visit Report Events

Receive structured visit report events after mobile work has been documented.

Visit report events

Visit report events notify connected systems when field work is documented, submitted, approved, rejected or marked for follow-up.

Event TypeDescription
visit_report.createdA draft report was created.
visit_report.submittedA report was submitted for review.
visit_report.approvedA report was approved.
visit_report.rejectedA report was rejected.
visit_report.follow_up_requiredThe approved report requires follow-up work.
visit_report.problem_reportedA report result or problem field indicates an issue.

Example: visit_report.approved

{
  "eventId": "evt_01JZ8Y4EXAMPLE",
  "eventType": "visit_report.approved",
  "occurredAt": "2026-06-18T16:40:00Z",
  "payloadVersion": "2026-06-18",
  "customer": {
    "ordinavoCustomerId": 12,
    "externalId": "CUST-10042",
    "customerNumber": "RRM-001",
    "name": "Rhein-Ruhr Medical Supply"
  },
  "location": {
    "ordinavoLocationId": 34,
    "externalId": "LOC-ESSEN-01",
    "name": "Essen Center",
    "city": "Essen",
    "country": "DE",
    "hasCoordinates": true
  },
  "contact": {
    "ordinavoContactId": 56,
    "externalId": "CONT-44",
    "displayName": "Anna Weber",
    "role": "Operations Manager",
    "email": "anna.weber@example.com",
    "phone": "+49 201 123456"
  },
  "visitReport": {
    "id": 901,
    "title": "Maintenance visit - Essen Center",
    "status": "Approved",
    "result": "Successful",
    "reportDateUtc": "2026-06-18T15:45:00Z",
    "visitStartedAtUtc": "2026-06-18T14:00:00Z",
    "visitCompletedAtUtc": "2026-06-18T15:30:00Z",
    "followUpRequired": false,
    "isBillable": true,
    "billingStatus": "Pending",
    "attachmentCount": 3
  },
  "target": {
    "id": 455,
    "externalId": "JOB-2026-000918",
    "title": "Maintenance visit"
  },
  "appointment": {
    "id": 1201,
    "status": "Completed"
  }
}
Payload controls

Contact details, summary preview and billing details can be controlled through webhook payload options.

Example: visit_report.follow_up_required

{
  "eventId": "evt_01JZ8Y5EXAMPLE",
  "eventType": "visit_report.follow_up_required",
  "occurredAt": "2026-06-18T16:45:00Z",
  "customer": {
    "ordinavoCustomerId": 12,
    "externalId": "CUST-10042",
    "customerNumber": "RRM-001",
    "name": "Rhein-Ruhr Medical Supply"
  },
  "location": {
    "ordinavoLocationId": 34,
    "externalId": "LOC-ESSEN-01",
    "name": "Essen Center"
  },
  "visitReport": {
    "id": 901,
    "status": "Approved",
    "result": "IssueFound",
    "followUpRequired": true,
    "followUpDueDate": "2026-07-02",
    "followUpReason": "Replacement part required"
  },
  "followUp": {
    "required": true,
    "dueDate": "2026-07-02",
    "reason": "Replacement part required"
  }
}