Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/juanmatz/inspection-form-euroautos/llms.txt

Use this file to discover all available pages before exploring further.

This page documents the complete JSON schema used for inspection records in the Euroautos Inspection Form — both as persisted in the local IndexedDB inspections store and as transmitted to the backend sync API. All payloads conform to this schema, making it the authoritative reference for integrations, data exports, and custom reporting pipelines.

Root Inspection Object

A full inspection record with all fields populated:
{
  "id": "insp-7f3a2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
  "vehicleId": "veh-abc123",
  "workshopId": "ws-euroautos-medellin",
  "inspectorId": "insp-42",
  "status": "completed",
  "createdAt": "2024-03-15T09:00:00.000Z",
  "updatedAt": "2024-03-15T10:30:00.000Z",
  "completedAt": "2024-03-15T10:30:00.000Z",
  "notes": "Customer requested priority check on brakes.",
  "signature": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0i...",
  "vehicle": {
    "id": "veh-abc123",
    "licensePlate": "ABC-123",
    "make": "BMW",
    "model": "320i",
    "year": 2021,
    "mileage": 48200,
    "colour": "Alpinweiss III",
    "vin": "WBA5A7C50FD123456"
  },
  "sections": [
    {
      "id": "sec-brakes",
      "type": "brakes",
      "completedAt": "2024-03-15T09:45:00.000Z",
      "items": [
        {
          "id": "item-brake-pads-front",
          "sectionId": "sec-brakes",
          "label": "Pastillas de freno delanteras",
          "status": "warning",
          "notes": "Desgaste al 20%. Recomendar reemplazo en próxima visita.",
          "photos": ["photo-0a1b2c3d", "photo-4e5f6a7b"],
          "mandatory": true
        }
      ]
    }
  ]
}

Vehicle Object

The vehicle object is embedded inside the root inspection record. It captures the vehicle’s identity at the time of inspection, independent of any external vehicle registry.
{
  "id": "veh-abc123",
  "licensePlate": "ABC-123",
  "make": "BMW",
  "model": "320i",
  "year": 2021,
  "mileage": 48200,
  "colour": "Alpinweiss III",
  "vin": "WBA5A7C50FD123456"
}
FieldTypeRequiredDescription
idstringYesUnique identifier for the vehicle. May be a UUID or a workshop-specific code.
licensePlatestringYesVehicle registration plate. Format varies by country.
makestringYesVehicle manufacturer (e.g. "BMW", "Mercedes-Benz").
modelstringYesModel name (e.g. "320i", "Clase C").
yearintegerYesFour-digit model year.
mileageintegerNoOdometer reading in kilometres at the time of inspection.
colourstringNoVehicle colour, as described by the inspector or sourced from registration documents.
vinstringNo17-character Vehicle Identification Number.

InspectionSection Object

Each inspection is divided into sections corresponding to a logical area of the vehicle (e.g. brakes, tyres, lighting). The sections array in the root object contains one entry per completed or in-progress section.
{
  "id": "sec-brakes",
  "type": "brakes",
  "completedAt": "2024-03-15T09:45:00.000Z",
  "items": [
    {
      "id": "item-brake-pads-front",
      "sectionId": "sec-brakes",
      "label": "Pastillas de freno delanteras",
      "status": "warning",
      "notes": "Desgaste al 20%. Recomendar reemplazo en próxima visita.",
      "photos": ["photo-0a1b2c3d", "photo-4e5f6a7b"],
      "mandatory": true
    }
  ]
}
FieldTypeRequiredDescription
idstringYesUnique identifier for this section within the inspection.
typestringYesSection type key. Maps to the section template defined in the app configuration (e.g. "brakes", "tyres", "lighting", "bodywork", "engine", "interior").
completedAtstring (ISO 8601)NoTimestamp when the inspector marked this section as complete. null if still in progress.
itemsChecklistItem[]YesArray of checklist items belonging to this section. See ChecklistItem Object below.

ChecklistItem Object

Checklist items are the individual inspection points within a section. Each item captures the inspector’s finding, any free-text notes, and references to attached photos.
{
  "id": "item-brake-pads-front",
  "sectionId": "sec-brakes",
  "label": "Pastillas de freno delanteras",
  "status": "warning",
  "notes": "Desgaste al 20%. Recomendar reemplazo en próxima visita.",
  "photos": ["photo-0a1b2c3d", "photo-4e5f6a7b"],
  "mandatory": true
}
FieldTypeRequiredDescription
idstringYesUnique identifier for this checklist item within the inspection.
sectionIdstringYesID of the parent InspectionSection.
labelstringYesHuman-readable label for the inspection point, in the app’s active language.
statusstringYesInspector’s finding. One of "ok", "warning", "fail", or "not_applicable".
notesstringNoFree-text notes entered by the inspector. May be empty string "".
photosstring[]NoArray of photo IDs (from the photos IndexedDB store) attached to this item. May be empty array [].
mandatorybooleanYesWhether this item must be completed before the inspection can be submitted. Mandatory items with status null block form submission.
The photos array in a ChecklistItem stores photo IDs only, not the raw image data. To resolve a photo, look up its id in the photos IndexedDB object store, or in the photos array of a JSON export. This keeps inspection records compact and avoids duplicating potentially large Base64 strings.

Field Reference

The following <ResponseField> entries describe every top-level field in the root inspection object.
id
string
required
Universally unique identifier for the inspection, generated client-side using UUID v4 at the moment the inspection is created. Used as the idempotency key when syncing to the backend. Format: insp-<uuid>.
vehicleId
string
required
Identifier of the vehicle being inspected. References the vehicle.id field embedded in the same record, and may also correspond to a vehicle record in an external workshop management system.
workshopId
string
required
Identifier of the workshop branch where the inspection is being performed. Set from the VITE_WORKSHOP_ID environment variable at build time. Example: "ws-euroautos-medellin".
inspectorId
string
required
Identifier of the technician performing the inspection. Sourced from the inspector profile configured in the app settings, or from an external authentication provider if SSO is enabled.
status
string (enum)
required
Current lifecycle status of the inspection. See Status Enum Values below for all valid values and their meanings.
createdAt
string (ISO 8601)
required
UTC timestamp of when the inspection record was first created on the client device. Immutable after creation.
updatedAt
string (ISO 8601)
required
UTC timestamp of the most recent modification to any field in the inspection record, including nested sections and items. Updated automatically by the app on every save.
completedAt
string (ISO 8601)
UTC timestamp of when the inspection reached a terminal status (completed or approved). null for inspections that are still in progress.
notes
string
Free-text notes entered at the top level of the inspection, typically used for overall vehicle observations or special customer instructions. Separate from the per-item notes fields inside sections.
signature
string
The customer or inspector signature captured on the signature pad, encoded as a Base64 data URL. The MIME type prefix is included in the string (e.g. data:image/svg+xml;base64,...). null if no signature has been captured.
vehicle
object (Vehicle)
required
Embedded vehicle snapshot. See Vehicle Object above. The vehicle details are copied into the inspection at creation time so that the record remains accurate even if the vehicle’s registry entry is later updated.
sections
array (InspectionSection[])
required
Ordered array of inspection sections, each containing a set of checklist items. The order of sections in the array matches the display order in the form. See InspectionSection Object above.

Status Enum Values

ValueDescription
draftThe inspection has been created and is actively being filled in by the inspector. Sections and items may be incomplete. The record is not ready for review.
pending_reviewThe inspector has submitted the form for supervisory review. No further edits are permitted by the inspector until the status changes.
approvedA supervisor has reviewed and approved the inspection. The record is considered final.
completedThe inspection has been completed and, where applicable, the customer has signed off. Used in workshops that do not require a separate supervisory approval step.
The draftcompleted path (bypassing pending_review and approved) is the default workflow for workshops configured without the review feature. To enable the two-step approval workflow, set VITE_ENABLE_REVIEW_WORKFLOW=true in your environment configuration.

Build docs developers (and LLMs) love