Introduction
Welcome to the Claire Customer Communication API !
This API is used to fetch data and handle all actions related to communication with customers.
We currently have the following communications available:
- Online check-in: Similar to airlines check-in, this communication is sent to the customer prior to his appointment
- Desk check-in: Used by receptionist with counter tablet, to allow the customer to check-in on site
- Keylocker check-in: For locations with Claire keylockers, to allow the customer to check-in while dropping his key
- Diagnose overview: Once the car has been checked by a mechanic, the receptionist can send this communication to ask the customer what is approved, what is not, and what needs more information
- Repair overview: Once the car is ready, the receptionist can send this communication to confirm what was done and what was not
More detail to be found in each section of this documentation.
Communication channels
We currently support two channels of communication with customers:
- SMS
More will be added in the future.
Authentication
Endpoints aimed at customers to read, upload attachments and answer communications use a communication key in the payload as authentication.
A communication key is unique, and valid through the whole appointment life-cycle, from check-in to repair overview, it does not change for each communication sent for an appointment.
This is done to ensure that a customer see the last communication available no matter from which Email/SMS he clicked.
Claire do not send these keys to anyone but the customer to guarantee that a communication was read and answered by the targeted customer.
When the dealer wants to control sending or displaying the communications, these keys are sent to the dealer through the webhook service, and the responsability to not leak or use these keys instead of the customer rest on them, see more below.
Endpoints aimed at receptionist use claire authentication tokens as all other services aimed at them.
Third party control
Notifying customers
It is possible for a dealer to send the communications links themselves, contact Claire support to activate this feature.
Communication keys will be sent to the dealer when the customer need to be notified, using the Claire webhook service.
Once enabled the dealer is responsible for communicating the link to the customer, and liable to not use the key themselves.
The links to be communicated to the customer are:
- https://comm.clairedev.nl/#!/COMMUNICATION_KEY on the development environment
- https://mycarcheck.pro/#!/COMMUNICATION_KEY on the production environment
Custom frontend
It is also possible for the dealer to use it's own frontend, in which case, they must not pre-fetch the communication themselves and later on have the customer read it from their system.
Instead, they must ensure that the communication is fetched when the customer read the communication.
Claire is not responsible for incorrect information shown to the receptionist if the dealer fail to ensure this.
If the dealer wish to augment the features available in the frontend of a communication, or store the communication data, two infrastructures are possible:
- Fetch the communication from the frontend code, and call the dealer backend as well after that when needed
- Set up a proxy backend between the frontend and Claire backend. This proxy backend must be used by the dealer frontend only to guarantee it's called when the customer read the communication
The same options are possible when uploading attachments or answering communications.
Endpoints responses
When a call to an endpoint succeed, this API reponds with HTTP 200 and return the following body
{"data":{"seeEachEndpoint":"forTheDataReturnedHere"}}
When a call to an endpoint is done with invalid payload or parameters, or when a validation error occur, or when an expected error occur, this API reponds with HTTP 200 and return the following body:
{"errors":["error 1", "error 2", "error N"]}
See the Errors section for when other HTTP code are returned.
Global communication endpoints
These endpoints are to be used no matter what the current Communication Status is.
They respond and act accordingly to the current status of the communication.
Read communication
curl "API_BASE/v1/communication/read"
This endpoint will prepare any data needed for the current communication status, mark the communication as read if a customer key is used, and return the communication data to be displayed. This is a general endpoint, to be used when the customer or receptionist want to read the communication, no matter what the current status of the communication is (check-in, diagnose, repair...). Do not use this endpoint with a customer key to retrieve the communication for internal purpose, as the communication will be marked as read by the customer and shown as such in the appointment detail page in the Claire dashboard.
HTTP Request
POST /v1/communication/read
The request Body payload is:
{
"key": ""
}
The request JSON response is:
{
"created_on": "0001-01-01T00:00:00Z",
"updated_on": "0001-01-01T00:00:00Z",
"customer_communication_id": 0,
"receptionist_key": "",
"status": 0,
"version": 0,
"correct_phone": "",
"correct_email": "",
"customer_id": null,
"appointment_id": 0,
"car_id": 0,
"receptionist_id": null,
"dealer_location_id": 0,
"note": "",
"customer": null,
"appointment": null,
"car": null,
"receptionist": null,
"results": [],
"check_in_remarks": [],
"diagnose_overview_remarks": [],
"check_in_results": [],
"diagnose_overview_results": [],
"agreements": [],
"events": [],
"is_receptionist": false,
"settings": null
}
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true | Receptionist Key or Customer Key of the communication to be read |
Response schema
This endpoint return an object of type CustomerCommunication, please refer to the JSON response column on the right, or to the Models and Enumeration section for more details.
Upload a remark attachment.
curl "API_BASE/v1/communication/upload_attachment"
When the customer want to upload an attachment while writing a remark, this endpoint is used to upload it. The attachment URL returned can then be used when submitting the answer in the 'remarks.attachments'. A maximum of 10 files can be attached to one communication and each file are limited to 32Mb.
HTTP MultiPart Request
POST /v1/communication/upload_attachment
The request parts are:
--XXX
Content-Disposition: form-data; name=key
...
--XXX
Content-Disposition: form-data; name=file
...--XXX--
The request JSON response is:
{
"url": ""
}
This request must be a multipart/form-data content-type with valid boundary for each part
Request parts schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true | The customer communication key used to read the communication. |
| file | http.FormFile | true | The file to be uploaded. |
Response schema
This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.
| Parameter | Type |
|---|---|
| url | string |
Summarize the communication
curl "API_BASE/v1/communication/summarize"
This endpoint summarizes the communication using google generative ai.
HTTP Request
POST /v1/communication/summarize
The request Body payload is:
{
"key": "",
"intervention_ids": [],
"check_in_service_ids": []
}
The request JSON response is:
{
"summary": ""
}
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true | The customer communication key used to read the communication. |
| intervention_ids | []model.InterventionID | false | The intervention IDs to be summarized. |
| check_in_service_ids | []model.CheckInServiceID | false | The check-in service IDs to be summarized. |
Response schema
This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.
| Parameter | Type |
|---|---|
| summary | string |
Diagnose_overview
Answer a diagnose overview communication
curl "API_BASE/v1/diagnose_overview/answer"
When the customer read a diagnose overview communication, he is expected to answer it, using this endpoint.
HTTP Request
POST /v1/diagnose_overview/answer
The request Body payload is:
{
"key": "",
"results": [],
"remarks": [],
"correct_phone": null,
"correct_email": null,
"agreement_ids": [],
"customer_name": ""
}
The request JSON response is:
This endpoint does not return anything, only the HTTP status code matters.
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true | The customer communication key used to read the communication. |
| results | []model.CommunicationResult | false | The communication results retrieved when reading the communication, with their statuses updated as answered by the customer. |
| remarks | []model.DiagnoseOverviewRemark | false | The remarks of the customer, along with optional attachments urls (uploaded with the communication/upload_attachment endpoint). Each remark must contain at least a title or a description. Optional. |
| correct_phone | string | false | To be submitted if the customer has entered a different phone number than what we have in the customer object. Will be displayed to the receptionist in the appoimtment detail page. |
| correct_email | string | false | To be submitted if the customer has entered a different email address than what we have in the customer object. Will be displayed to the receptionist in the appoimtment detail page. |
| agreement_ids | []model.CustomerCommunicationAgreementID | false | The diagnose agreements IDs that were agreed by the customer. Not to be confused with the agreement IDs. |
| customer_name | string | true | The name entered by the customer before submitting his answer. |
Response schema
This endpoint does not return anything, only the HTTP status code matters.
Diagnose_overview_v2
Answer a diagnose overview communication
curl "API_BASE/v2/diagnose_overview/answer"
When the customer read a diagnose overview communication, he is expected to answer it, using this endpoint.
HTTP Request
POST /v2/diagnose_overview/answer
The request Body payload is:
{
"key": "",
"interventions": [],
"remarks": [],
"correct_phone": null,
"correct_email": null,
"agreement_ids": [],
"customer_name": "",
"results": []
}
The request JSON response is:
This endpoint does not return anything, only the HTTP status code matters.
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true | The customer communication key used to read the communication. |
| interventions | []model.Intervention | false | The interventions retrieved when reading the communication, with their statuses updated as answered by the customer. |
| remarks | []model.DiagnoseOverviewRemark | false | The remarks of the customer, along with optional attachments urls (uploaded with the communication/upload_attachment endpoint). Each remark must contain at least a title or a description. Optional. |
| correct_phone | string | false | To be submitted if the customer has entered a different phone number than what we have in the customer object. Will be displayed to the receptionist in the appoimtment detail page. |
| correct_email | string | false | To be submitted if the customer has entered a different email address than what we have in the customer object. Will be displayed to the receptionist in the appoimtment detail page. |
| agreement_ids | []model.CustomerCommunicationAgreementID | false | The diagnose agreements IDs that were agreed by the customer. Not to be confused with the agreement IDs. |
| customer_name | string | true | The name entered by the customer before submitting his answer. |
| results | []model.CommunicationResult | false | What the customer decided to do with the offered results |
Response schema
This endpoint does not return anything, only the HTTP status code matters.
Online_checkin
Customer answers a sent CustomCommunication
curl "API_BASE/v1/online_checkin/answer"
When the customer read an online check-in communication, he is expected to answer it, using this endpoint.
HTTP Request
POST /v1/online_checkin/answer
The request Body payload is:
{
"key": "",
"results": [],
"remarks": [],
"correct_phone": null,
"correct_email": null,
"agreement_ids": [],
"customer_name": "",
"preferred_communication_channel": null,
"drop_in_acses_locker": false
}
The request JSON response is:
{
"keylocker_pin": null,
"acses_pin": "",
"acses_locker_name": ""
}
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true | The customer communication key used to read the communication. |
| results | []model.CheckInResult | false | The communication results retrieved when reading the communication, with their accepted values updated as answered by the customer. |
| remarks | []model.CheckInRemark | false | The remarks of the customer, along with optional attachments urls (uploaded with the communication/upload_attachment endpoint). Each remark must contain at least a title or a description. Optional. |
| correct_phone | string | false | To be submitted if the customer has entered a different phone number than what we have in the customer object. Will be displayed to the receptionist in the appoimtment detail page. |
| correct_email | string | false | To be submitted if the customer has entered a different email address than what we have in the customer object. Will be displayed to the receptionist in the appoimtment detail page. |
| agreement_ids | []model.CommunicationAgreementID | false | The agreements IDs that were agreed by the customer. |
| customer_name | string | true | The name entered by the customer before submitting his answer |
| preferred_communication_channel | model.CommunicationChannelID | false | The preferred channel of communication chosen by the customer for future communications |
| drop_in_acses_locker | bool | true | If the location posses an ACSES keylocker and the customer agreed to drop their key in it |
Response schema
This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.
| Parameter | Type |
|---|---|
| keylocker_pin | model.KeyLockerPIN |
| acses_pin | string |
| acses_locker_name | string |
ACSES KeyLockers that are available to the Customer
curl "API_BASE/v1/online_checkin/is_acses_available"
If a Location has ACSES KeyLockers enabled and there is a LockerCell available in any LockerSystem. The Customer will be prompted to drop their keys in the Locker.
HTTP Request
POST /v1/online_checkin/is_acses_available
The request Body payload is:
{
"key": ""
}
The request JSON response is:
{
"available": false
}
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | true |
Response schema
This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.
| Parameter | Type |
|---|---|
| available | bool |
Communication Controller
Communication controller for updating the customization and settings options for Communications
This controller controls the settings for all the Communication Services and provides Email and SMS templates for customization.
Download a PDF
curl "API_BASE/v1/repair_overview/download"
Download a PDF contained the Repair Order information
HTTP Request
POST /v1/repair_overview/download
The request Body payload is:
{
"communication_key": ""
}
The request JSON response is:
[
0
]
Request schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| communication_key | string | true |
Response schema
This endpoint returns a binary
Models and Enumerations
Enumerations
AcsesCommunicationEventType Enumeration
| Value | Description |
|---|---|
| 1 | PIN for picking up the key has been sent |
AppointmentLogType Enumeration
| Value | Description |
|---|---|
| 1 | Customer owner has been changed |
AppointmentNoteType Enumeration
| Value | Description |
|---|---|
| 1 | A WO note |
| 2 | A Main note, limited to 1 |
| 3 | Customer needed to be called |
| 4 | Appointment is waiting on a back order, Appointment Status is updated |
| 5 | Someone requires info about the Appointment, Appointment Status is updated |
| 6 | Attachments associated with the Appointment, limited to 1 |
| 7 | A Bill for the WO, that can be included in Customer Communication |
| 8 | Information sent by the Tyrescanner, usually an attachment as PDF |
| 9 | Note added for the temporary driver |
| 10 | Note added for a recurring car |
| 11 | Note added for parking |
| 12 | Note added from DMS |
| 13 | Note added while setting the appointment status to make an offer |
| 14 | A replacement vehicle was provided to the customer |
AppointmentRecallStatus Enumeration
| Value | Description |
|---|---|
| 0 | None |
| 1 | Previous |
| 2 | Open |
BarCode Enumeration
| Value | Description |
|---|---|
| 1 | Barcode Type 128 |
| 2 | Barcode Type 93 |
| 3 | Barcode Type 39 |
| 4 | Barcode Type 25 |
| 5 | Barcode Type 11 |
CarNoteType Enumeration
| Value | Description |
|---|---|
| 1 | Note created in Claire |
| 2 | Note created in DMS |
CheckEventType Enumeration
| Value | Description |
|---|---|
| 1 | Check has been started |
| 2 | Check has been paused |
| 3 | Check has been resumed |
| 4 | Check has been aborted |
| 5 | Check is completed |
| 6 | Check is deleted |
CheckInResultStatus Enumeration
| Value | Description |
|---|---|
| 0 | not sent |
| 1 | pending |
| 2 | success |
| 3 | failed |
ChecklistType Enumeration
| Value | Description |
|---|---|
| 0 | Regular checklist |
| 1 | Initial checklist done by receptionists |
| 2 | Quality control checklist |
| 3 | Auxilary checklist |
| 4 | Extra parts checklist, i.e. fluids list |
| 5 | This Checklist Type is deprecated and will be repurposed by a new Checklist Type |
| 6 | Test Drive checklist can be started at any time and do no change the appointment status |
| 7 | Checklist is of warranty type |
CommunicationChannelID Enumeration
| Value | Description |
|---|---|
| 1 | |
| 2 | SMS |
| 3 | Webhook, used when a third party send the communication link |
CommunicationEventType Enumeration
| Value | Description |
|---|---|
| 1 | Online Check-in communication sent |
| 2 | Online Check-in communication opened |
| 3 | Online Check-in communication answered |
| 4 | Diagnose overview communication created |
| 5 | Diagnose overview communication opened |
| 6 | Diagnose overview communication answered |
| 7 | Diagnose overview communication resent |
| 8 | Repair overview communication created |
| 9 | Repair overview communication resent |
| 10 | Repair overview communication opened |
CommunicationLayoutID Enumeration
| Value | Description |
|---|---|
| 1 | Default layout |
| 2 | Default layout but with the menu on the left side |
CommunicationReceiverStatus Enumeration
| Value | Description |
|---|---|
| 1 | Communication is sent but not received |
| 2 | Communication is sent and received |
| 3 | Communication is not received due to some error |
CommunicationResultStatus Enumeration
| Value | Description |
|---|---|
| 1 | |
| 1 | The question does not have a status yet |
| 2 | The customer is ok to fix this item |
| 3 | The customer is not ok to fix this item |
| 4 | The customer asked to be contacted about this item |
| 4 |
CommunicationStatus Enumeration
| Value | Description |
|---|---|
| 1 | Customer did not open the Online Check-in yet |
| 2 | Customer did opened the Online Check-in |
| 3 | Customer did answered the Online Check-in |
| 4 | The Online Check-in is closed |
| 5 | Customer did not open the Diagnose overview yet |
| 6 | Customer did opened the Diagnose overview |
| 7 | Customer did answered the Diagnose overview |
| 8 | The Online Check-in is closed, can be reopened if resent |
| 9 | The repair overview was sent, look at communication events to know if it was opened |
| 10 | Customer did opened the Repair Overview |
CustomerType Enumeration
| Value | Description |
|---|---|
| 0 | NotSet |
| 1 | Driver |
| 2 | Owner |
| 3 | Contractor |
DBBStatus Enumeration
| Value | Description |
|---|---|
| 0 | Check that was not pushed to DBB |
| 1 | Check fully pushed to DBB |
| 2 | Check that need to be confirmed in DBB mini portal |
| 3 | Check that failed to be pushed to DBB |
DMSID Enumeration
| Value | Description |
|---|---|
| 1 | Default value for location who do not have a DMS set yet |
| 2 | NTCAR |
| 3 | EVA |
| 4 | WINCAR, import limited information from WINCAR |
| 5 | ANONYMOUS EVA, import from EVA without personal data |
| 6 | AUTOLINE, import from AUTOLINE |
| 7 | AUTOLINE_EF_NEFKENS, import from AUTOLINE for holding Emil Frey, dealer Nefkens |
| 8 | TEST_API, import from a Claire test DMS, through scheduler, where data is autogenerated |
| 9 | TEST_SOW, import from a Claire test DMS, through sow, where data is autogenerated |
| 10 | INCADEA, import from Incadea |
| 11 | TRUCK_VISION, import from Truck Vision |
| 12 | ICAR_WO, import from ICAR |
| 13 | CARIT, import from Car IT from dealers that use a 3rd party planning tool |
| 14 | AUTOLINE_OPEL_MENU, import from AUTOLINE with Opel interventions |
| 15 | KEYLOOP_MENUS, import from Keyloop, use jobs contents as interventions |
| 16 | CUSTOM_QUERIES, dms id for running custom queries only, no import |
| 17 | KEYLOOP_JOBS, import from Keyloop, use jobs as interventions |
| 18 | AUTOLINE_EF_TERWOLDE, import from autoline for terwolde |
| 19 | ICAR_PLANNING, import from ICAR from dealers that use the dms planning |
| 20 | AUTOFLEX, import from AUTOFLEX |
| 21 | AUTOFLEX_QA_STAGING, import from AUTOFLEX' staging environment |
| 22 | NEXTLANE, import from NEXTLANE |
| 23 | WINCAR_API, import from WINCAR_API |
| 24 | EVA_BE, import from EVA BE |
| 25 | EVA_FR, import from EVA FR |
| 26 | INCADEA_API, import from INCADEA API |
| 27 | EVA_GROET, import from EVA GROET |
| 28 | WINCAR_API_V2, import from WINCAR API V2 |
DMSQuotaStatus Enumeration
| Value | Description |
|---|---|
| 1 | |
| 50 | |
| 75 | |
| 90 |
DeskCommunicationEventType Enumeration
| Value | Description |
|---|---|
| 1 | Desk check-in was sent to the tablet |
| 2 | Desk check-in was received by the tablet |
| 3 | Desk check-in failed to open on the tablet |
| 4 | Desk check-in was opened successfully by the tablet |
| 5 | Desk check-in was canceled by the receptionist |
| 6 | Desk check-in was answered by the customer |
DeskCommunicationStatus Enumeration
| Value | Description |
|---|---|
| 1 | Desk check-in was sent to the tablet |
| 2 | Desk check-in was received by the tablet |
| 3 | Desk check-in failed to open on the tablet |
| 4 | Desk check-in was opened successfuly by the tablet |
| 5 | Desk check-in was answered by the customer |
| 6 | Desk check-in is closed |
HeadingPosition Enumeration
| Value | Description |
|---|---|
| 1 | Heading content at the top |
| 2 | Heading content at the bottom |
InterventionElementType Enumeration
| Value | Description |
|---|---|
| 1 | Denote a task element |
| 2 | Denote a labor element |
| 3 | Denote a part element |
| 4 | Denote a text element |
| 5 | Denote a discount element |
| 6 | Denote a small part element |
| 7 | Denote a fee element, used to add fees to the intervention |
| 8 | Denote a rental element, used to include information about the rented vehicle |
| 9 | Denote a menu element |
KeyLabelLayouts Enumeration
| Value | Description |
|---|---|
| 1 | This layout represents the A4 size |
| 2 | This layout represents the label size |
| 3 | This layout represents the Kiosk Label size |
| 4 | This layout represents the Key Tag size |
| 5 | This layout represents the Altec QR size |
KeyLabelTypes Enumeration
| Value | Description |
|---|---|
| 1 | This type shows Make, Model, Registration, VIN, WON#, Name of the user who provided the label and First and Last name of the owner, if none, driver then contractor |
| 2 | This type shows WO#, Registration, VIN and Owner name |
KeyLockerCommunicationEventType Enumeration
| Value | Description |
|---|---|
| 1 | PIN for dropping the key has been sent |
| 2 | KeyLocker Check-in was opened |
| 3 | KeyLocker Check-in was answered |
| 4 | PIN for key pick up has been sent |
KeyLockerCommunicationStatus Enumeration
| Value | Description |
|---|---|
| 1 | PIN for dropping the key has been sent |
| 2 | KeyLocker Check-in was opened |
| 3 | KeyLocker Check-in was answered |
| 4 | PIN for key pick up has been sent |
KeylockerPinRequestType Enumeration
| Value | Description |
|---|---|
| 1 | The user requested Pin via Phone Number |
| 2 | The user requested Pin via Reg Number |
| 3 | Two Factor authentication was disabled |
| 4 | Online CheckIn was answered and a PIN was automatically sent |
KioskCommunicationEventType Enumeration
| Value | Description |
|---|---|
| 1 | Kiosk Check-in was opened |
| 2 | Kiosk Check-in was answered |
| 3 | Label was detached from the Key |
KioskCommunicationStatus Enumeration
| Value | Description |
|---|---|
| 1 | Kiosk Check-in was opened |
| 2 | Kiosk Check-in was answered |
LandingPageID Enumeration
| Value | Description |
|---|---|
| 1 | Main page |
| 2 | Lead Dashboard |
| 3 | Warranty Dashboard |
| 4 | Manufacturer Dashboard |
| 5 | Dayplanner Dashboard |
LanguageCode Enumeration
| Value | Description |
|---|---|
| nl-NL | Dutch |
| en-GB | English |
| fr-FR | French |
| de-DE | German |
| th-FR | Thai-French |
| af-AF | Afrikaans - extra language only for tablet users |
| bs-BS | Bosnian - extra language only for tablet users |
| el-EL | Greek - extra language only for tablet users |
| hu-HU | Hungarian - extra language only for tablet users |
| pl-PL | Polish - extra language only for tablet users |
| ro-RO | Romanian - extra language only for tablet users |
MCCStatus Enumeration
| Value | Description |
|---|---|
| 0 | Brand not supported |
| 1 | No card |
| 2 | Invalid card |
| 3 | Invalid card bis |
| 4 | Expired card |
NoteTypeID Enumeration
| Value | Description |
|---|---|
| 1 | Call customer appointment note |
| 2 | Remark pin note |
| 3 | Warranty pin note |
| 4 | Recall pin note |
| 5 | Parking note |
PinOrderStatusID Enumeration
| Value | Description |
|---|---|
| 2 | To Order |
| 1 | Same Day |
| 3 | Next Day |
| 4 | Back Order |
| 5 | Parts Arrived |
PinStatusID Enumeration
| Value | Description |
|---|---|
| 0 | Not Set |
| 1 | Deleted |
| 2 | Support |
| 3 | Approval pending |
| 4 | More info |
| 5 | Approved |
| 6 | Declined |
| 7 | To claim |
| 8 | Claimed |
| 9 | Billed |
| 10 | Request |
| 11 | Technical info |
PinTypeID Enumeration
| Value | Description |
|---|---|
| 1 | Pinned for remarks |
| 2 | Pinned for warranty |
| 3 | Pinned for recall |
QuestionElementTemplate Enumeration
| Value | Description |
|---|---|
| dropdown | Dropdown |
| dropdown_multi | Multiple selection dropdown |
| solution_element | Solution element |
| textfield | Text field |
| number | Number field |
| textarea | Textarea |
| spinner | Spinner |
| datepicker | Date picker |
| tyre | Tyre element |
| panic | Panic element |
| testdrive_mileage | Test drive mileage element |
QuestionOptionID Enumeration
| Value | Description |
|---|---|
| 1 | Price option is enabled on the question |
| 2 | Snooze option is enabled on the question |
| 3 | Pin option is enabled on the question |
| 4 | Disable OK without note option on the question |
| 5 | Hide X button option on the question |
| 6 | Photo mandatory option on the question |
| 7 | Hide customer OK and convert to intervention option on the question |
QuestionResultStatus Enumeration
| Value | Description |
|---|---|
| -1 | No Status can be selected |
| 0 | OK, no problem found |
| 1 | OK with remarks, no problem found but a remark was given |
| 2 | Advised, a problem was found but does not need immediate attention |
| 3 | Necessary, a problem was found and it must be fixed |
| 4 | Not worked on, they question was skipped by the user |
RoleID Enumeration
| Value | Description |
|---|---|
| 10 | Top level user role (has all permissions) |
| 20 | Claire admin role |
| 25 | Support admin role, similar to claire admin but without deleting rights |
| 30 | Manage dealers attached to it |
| 40 | Manage a single dealer |
| 50 | Uses the dashboard and does aanname checks |
| 55 | Mechanic with access rights similar to receptionist |
| 60 | Does car checks |
| 70 | Allowed to use multiple locations for one dealer |
| 80 | Does quality controls |
| 90 | Perform leads, recall and warranty related tasks on allowed locations from one or more dealers |
| 100 | User by tablet on the counter of receptionists |
| 110 | Manufacturer are allowed to update certain data after their requests to access specific appointments are being granted |
SMSGateway Enumeration
| Value | Description |
|---|---|
| 1 | SMS Gateway is disabled |
| 2 | Chatshipper SMS Gateway |
| 3 | Twilio SMS Gateway |
Season Enumeration
| Value | Description |
|---|---|
| -1 | No season |
| 0 | All season |
| 1 | Winter season |
| 2 | Summer season |
| 3 | Truck season |
SnoozeDepartmentID Enumeration
| Value | Description |
|---|---|
| 1 | Sales |
| 2 | Customer communication center |
| 3 | BodyRepair |
| 4 | External |
| 5 | Digital |
| 6 | Parts |
SnoozeStatusID Enumeration
| Value | Description |
|---|---|
| 0 | Deleted |
| 1 | New |
| 2 | In progress |
| 3 | Approved |
| 4 | Declined |
| 5 | Declined |
| 6 | Done |
SnoozeTypeID Enumeration
| Value | Description |
|---|---|
| 1 | Snoozed for the customer next visit |
| 2 | Snoozed to make an offer |
| 3 | Snoozed to make a new appointment |
| 4 | Snoozed to remind the customer |
StatusIdentifier Enumeration
| Value | Description |
|---|---|
| -1 | The appointment has been cancelled |
| 1 | Initial status for a new appoitment |
| 2 | A car check is completed |
| 3 | Pricing calculation is done |
| 4 | Customer approved pricing |
| 5 | The car is ready |
| 6 | An car check is required, set by a receptionist |
| 7 | Initial check done by a receptionist |
| 8 | Receptionists are doing pricing calculations |
| 9 | The customer is being contacted to approve pricing |
| 10 | A car check has started |
| 11 | A quality check is completed |
| 12 | The customer answered through online communication |
| 13 | The appointment is delayed and is waiting on a back order |
| 50 | Not returned by the backend, shown if the receptionist need to handle the Online Check-in answer |
| 51 | Not returned by the backend, shown if the Online Check-in is answered and handled |
| 52 | Not returned by the backend, shown if the car is in the shop |
| 53 | Not returned by the backend, shown if repair overview was sent to customer for car ok status |
| 54 | Not returned by the backend, shown if repair overview was sent to customer for quality check status |
| 55 | Not returned by the backend, shown if the car is out of the shop |
StatusOverride Enumeration
| Value | Description |
|---|---|
| 0 | None |
| 1 | Canceled |
| 2 | Restored |
TyreLocation Enumeration
| Value | Description |
|---|---|
| 1 | On car |
| 2 | In storage |
| 3 | Removed, from car |
| 4 | Removed, from storage |
TyrePosition Enumeration
| Value | Description |
|---|---|
| 0 | No tyre |
| 1 | Car front left |
| 2 | Car front right |
| 3 | Car rear left |
| 4 | Car rear right |
| 5 | Storage front left |
| 6 | Storage front right |
| 7 | Storage rear left |
| 8 | Storage rear right |
| 9 | Car spare |
| 10 | Truck left |
| 11 | Truck right |
| 12 | Truck exterior left |
| 13 | Truck exterior right |
| 14 | Truck interior left |
| 15 | Truck interior right |
| 16 | Truck spare |
TyreTeamChannelID Enumeration
| Value | Description |
|---|---|
| 1 | Wheel-Tyre |
| 2 | BandenExpress |
UserStatusID Enumeration
| Value | Description |
|---|---|
| 1 | Active |
| 2 | Inactive |
WarrantyTypeID Enumeration
| Value | Description |
|---|---|
| 0 | Not Set |
| 1 | Factory |
| 2 | Leniency |
| 3 | Body Paint |
| 4 | On Repair |
| 5 | Occasion |
| 6 | Service |
Models
AAEquipmentTyreScanner Model

| Field | Type | Description |
|---|---|---|
| ShortCode | int | Short code attached to the scanner in order to identify it easily |
| SerialNumber | string | Serial number of the scanner device. |
| LastFRProfileScanned | float64 | Last value received from the scanner for this tire position |
| LastFLProfileScanned | float64 | Last value received from the scanner for this tire position |
| LastRRProfileScanned | float64 | Last value received from the scanner for this tire position |
| LastRLProfileScanned | float64 | Last value received from the scanner for this tire position |
| LastAlignmentRecommendedScanned | bool | Last value received from the scanner for alignment |
| LastReportScanned | string | Last report received from the scanner |
| DealerLocationID | DealerLocationID | Location Identifier |
ACL Model

| Field | Type | Description |
|---|---|---|
| ID | ACLID | |
| Activity | string | |
| Resource | string | |
| Roles | Role |
AcsesCommunication Model

| Field | Type | Description |
|---|---|---|
| ID | AcsesCommunicationID | |
| CustomerID | CustomerID | Customer who this AcsesCommunication is for |
| AppointmentID | AppointmentID | Appointment from which this AcsesCommunication originated from |
| CarID | CarID | Car from which the Appointment is for |
| DealerLocationID | DealerLocationID | DealerLocation from which the Appointment is from |
| ReceptionistID | UserID | Identifier of the user |
| Receptionist | User | Embedded Receptionist of the ReceptionistID |
| Customer | Customer | Embedded Customer of the CustomerID |
| Appointment | Appointment | Embedded Appointment of the AppointmentID |
| Car | Car | Embedded Car of the CarID |
| Events | AcsesCommunicationEvent | Embedded all Events created for this communication |
AcsesCommunicationEvent Model

| Field | Type | Description |
|---|---|---|
| ID | AcsesCommunicationEventID | |
| UserID | UserID | Identifier of the user |
| Type | AcsesCommunicationEventType | Type of AcsesCommunicationEvent |
| AcsesCommunicationID | AcsesCommunicationID | Identifier of the Acses Communication |
| User | User | Embedded User of the UserID |
| Receivers | AcsesCommunicationReceiver | Embedded all Receivers created for this event |
| AppointmentID | AppointmentID | Used for websocket event lookup |
AcsesCommunicationReceiver Model

| Field | Type | Description |
|---|---|---|
| ID | AcsesCommunicationReceiverID | |
| AcsesCommunicationEventID | AcsesCommunicationEventID | Acses Communication Event Identifier |
| CommunicationChannelID | CommunicationChannelID | Type of communication channel used |
| Destination | string | Recipient identifier for the channel used |
| Status | CommunicationReceiverStatus | Status of the communication receiver |
| Reason | string | Reason in case of any failure |
| SMSGatewayID | SMSGatewayID | Type of gateway used in case of SMS |
| TwilioMessageSID | TwilioMessageSID | Identifier of the SMS in Twilio |
| MailgunMessageID | string | Mailgun message identifier for identifying the email |
| ChatshipperConversationID | ChatshipperConversationID | Identifier of the SMS in the Chatshipper |
| AppointmentID | AppointmentID |
AnswerItem Model

| Field | Type | Description |
|---|---|---|
| ID | AnswerItemID | Claire Answer Item ID |
| Encoded | string | |
| Raw | string | Raw answer |
| Template | QuestionElementTemplate | Question's template answered |
| Order | int | |
| QuestionResultID | QuestionResultID |
Appointment Model

| Field | Type | Description |
|---|---|---|
| ID | AppointmentID | Appointment's ID |
| DMSNr | string | Appointment ID in the DMS |
| DMSCreatedAt | time.Time | |
| WONr | string | Appointment work order number |
| ImporterVersion | string | Version of Claire importer used to import Appointment from DMS |
| DMSStatus | string | Appointment status in DMS |
| CarCheckStarted | bool | Car check has started |
| CustomerWaiting | bool | The customer is waiting for the car |
| CustomerWaitingEdited | bool | The customer is waiting for the car is set by the user |
| IsLocal | bool | This appointment was created manually in Claire |
| IsMoney | bool | A receptionist marked this appointment with the money marker |
| IsStar | bool | A receptionist marked this appointment with the star marker |
| IsStarColor | string | Color for the star icon |
| IsShop | bool | A receptionist marked this appointment with the shop marker |
| IsShopColor | string | Color for the shopping cart icon |
| IsLeaseCompany | bool | The appointment’s car belongs to a lease company |
| HasExtraCheck | bool | An extra check was performed |
| CheckPausedAt | time.Time | A car check was paused and when |
| FinalCheckHasRemarks | bool | Final check has remarks |
| IsRecurring | bool | This car came in the last 28 days |
| WarrantyPinCount | int | Number of pinned warranty items on the appointment |
| WarrantyPinSignatureMissingCount | int | Number of pinned warranty items on the appointment that are missing a signature |
| WarrantyPinClaimNrMissingCount | int | Number of pinned warranty items on the appointment that are missing a claim nr |
| WarrantyPinSupportNrMissingCount | int | Number of pinned warranty items on the appointment that are missing a claim nr |
| RecallPinCount | int | Number of pinned recall items on the appointment |
| RecallPinClaimNrMissingCount | int | Number of pinned recall items on the appointment that are missing a claim nr |
| RecallPinSupportNrMissingCount | int | Number of pinned recall items on the appointment that are missing a supportnr |
| RemarkPinCount | int | Number of pinned remark items on the appointment |
| NextDate | time.Time | Planned next appointment date |
| PredictedNextDate | time.Time | Predicted next appointment date |
| TimeCarApp | time.Time | Appointment date in Claire |
| IsPinned | bool | Is the appointment pinned |
| IsPinnedManually | bool | The appointment was pinned manually, preventing automatic overwriting |
| StatusOverride | StatusOverride | The appointment's status was overridden manually, preventing automatic overwriting |
| CarInShop | time.Time | When the car arrived at the location |
| CarInShopEdited | bool | Car in Shop was overwritten in claire and no longer reflects the DMS |
| CarOutOfShop | time.Time | When the car left the location |
| CarOutOfShopEdited | bool | Car out of Shop was overwritten in claire and no longer reflects the DMS |
| DueIn | time.Time | Car is scheduled to be in the shop on this date |
| CarReturnTime | time.Time | Car is scheduled to be returned back to the customer on this date |
| CarReturnTimeEdited | bool | car return time was overwritten in claire and no longer reflects the DMS |
| DMSBilledUpdated | bool | Billed was updated by the DMS |
| CheckInComSent | bool | Online Checkin was sent to a customer |
| CheckInComAnswered | bool | Online Checkin was answered by a customer |
| CheckInComToHandle | int | The customer asked for additional items to be handled |
| LastDMSUpdate | time.Time | The last time this appointment was updated from the DMS |
| LastDMSRefresh | time.Time | The last time this appointment was refreshed by a user opening the detail page |
| LastDBBRefresh | time.Time | The last time this appointment was refreshed to update data from DBB by a user opening the detail page |
| LastOCWRefresh | time.Time | The last time the OCW was refreshed by a user opening the detail page |
| LastRecallRefresh | time.Time | The last time the recalls of this appointment was refreshed by a user opening the detail page |
| Internal | bool | This appointment is internal and doesn't interact with real customers, such as when a car is new from the factory |
| HasPanic | bool | A mechanic has a critical issue on the vehicle and needs immediate help |
| IsTyreMotionAIScanned | bool | The tyres are scanned by tyre motion AI |
| CreatedBy | string | Indicates the origin of this appointment and the entity responsible for its creation |
| IsOCWInterventionCreated | bool | Indicates if the OCW intervention has been created for this appointment. This intervention is created if the car supports OCW and it is reminder to disconnect and reconnect the car to ocw app. |
| KeyDroppedAt | time.Time | Date and time the customer dropped the key in the keylocker |
| KeyDroppedIn | string | Name of the keylocker in which key is dropped in |
| KeyPickedUpAt | time.Time | Date and time the mechanic picked up the key in the keylocker |
| KeyPickedUpByID | UserID | User ID of the mechanic who picked up the key |
| KeyDroppedBackAt | time.Time | Date and time the mechanic dropped back the key in the keylocker |
| KeyDroppedBackByID | UserID | User ID of the mechanic who dropped back the key |
| KeyDroppedBackIn | string | Name of the keylocker in which key is dropped back in |
| KeyPickedUpBackAt | time.Time | Date and time the customer picked back up the key in the keylocker |
| KeyPickedUpBackByID | UserID | User ID of the receptionist who picked back up the key if they intervened |
| AcsesKeyDropObjectID | string | Acses Object Identifier used to drop the key |
| AcsesKeyDropBookingID | string | Acses Booking Identifier containing the authentication needed so the customer can drop the key |
| AcsesKeyDropIn | string | Identifier of the Acses locker, where the key was dropped in |
| AcsesKeyDroppedAt | time.Time | Date and time the customer dropped the key in the Acses locker |
| AcsesKeyPickUpBookingID | string | Acses Booking Identifier used to open the locker to pickup the key |
| AcsesKeyPickUpByID | UserID | User Identifier of the mechanic who picked up the key from the Acses locker |
| AcsesKeyPickedUpAt | time.Time | Date and time the mechanic picked up the key from the Acses locker |
| AcsesKeyDropBackObjectID | string | Acses Object Identifier used to drop back the key |
| AcsesKeyDropBackBookingID | string | Acses Booking Identifier containing the authentication needed so the receptionist can drop back the key |
| AcsesKeyDropBackByID | UserID | User Identifier of the receptionist who dropped back the key in the Acses locker |
| AcsesKeyDropBackIn | string | Identifier of the Acses locker, where the key was dropped back in |
| AcsesKeyDroppedBackAt | time.Time | Date and time the receptionist dropped the key in the Acses locker |
| AcsesKeyPickUpBackBookingID | string | Acses Booking Identifier containing the authentication needed so the customer can pick back up the key |
| AcsesKeyAssistPickUpBookingID | string | Acses Booking Identifier containing the authentication needed so the receptionist can pick back up the key |
| AcsesKeyAssistPickUpByID | UserID | User Identifier of the receptionist who picked back up the key if they intervened |
| AcsesKeyPickedUpBackAt | time.Time | Date and time the key was picked back up from the Acses locker |
| ShareboxKeyDroppedAt | time.Time | Sharebox key dropped at |
| ShareboxKeyDroppedInCabinetID | int | Sharebox Cabinet Identifier for Key drop |
| ShareboxKeyDroppedInReservationID | int | ShareBox Reservation Identifier for Key drop |
| ShareboxKeyDroppedInLockerNo | int | Sharebox Locker Identifier for Key drop |
| ShareboxKeyDroppedInLocation | string | Sharebox Location for Key drop |
| ShareboxKeyPickedUpAt | time.Time | Sharebox key picked up at date and time |
| ShareboxKeyPickedUpByID | UserID | Sharebox key picked up by Claire User Identifier |
| ShareboxKeyDroppedBackAt | time.Time | Sharebox key dropped back at date and time |
| ShareboxKeyDroppedBackByID | UserID | Sharebox key dropped back by Claire User Identifier |
| ShareboxKeyDroppedBackInCabinetID | int | Sharebox Cabinet Identifier for Key drop back |
| ShareboxKeyDroppedBackInReceiverID | int | Sharebox Receiver Identifier used for key drop back and to be used for assist pickup |
| ShareboxKeyDroppedBackInReservationID | int | Sharebox Reservation Identifier for Key drop back |
| ShareboxKeyDroppedBackInLockerNo | int | Sharebox Locker Identifier for Key drop back |
| ShareboxKeyDroppedBackInLocation | string | Sharebox Location for Key drop back |
| ShareboxKeyPickedUpBackAt | time.Time | Sharebox key picked back up at date and time |
| ShareboxKeyPickedUpBackByID | UserID | Sharebox Key picked back up by Claire User Identifier |
| KioskCheckedInAt | time.Time | Customer used the Kiosk to checkin |
| KioskLabelNumber | KioskLabelNumber | Customer used this Kiosk Label to checkin |
| PlanningMechanicID | UserID | A planning mechanic id from supported Planning interfaces |
| PlanningWorkStart | time.Time | Work start time |
| PlanningWorkStop | time.Time | Work stop time |
| HasPlanITData | bool | There is plan-IT data available for this appointment |
| HasRecallsData | AppointmentRecallStatus | There are recalls available for this appointment |
| HasOVISData | bool | There are OVIS events available for this appointment |
| CustomerOwnerName | string | Name of the owner customer |
| CustomerOwnerProfilePicture | string | Profile picture of the owner customer |
| AssignedMechanic | UserID | Assigned mechanic |
| AssignedMechanicOrder | int | Assigned mechanic order |
| LastAssignedMechanic | UserID | Last assigned mechanic |
| ExtraPartsListID | ChecklistID | |
| ExtraCheckID | CheckID | |
| AppointmentStatusID | AppointmentStatusID | Current appointment's status ID in Claire |
| CustomerDriverID | CustomerID | Customer (driver) ID in Claire |
| CustomerOwnerID | CustomerID | Customer (owner) ID in Claire |
| CustomerContractID | CustomerID | Customer (contractor) ID in Claire |
| DealerLocationID | DealerLocationID | Unique DealerLocation ID of the location that the appointment occurred in |
| CarID | CarID | Unique ID of the Car assigned to appointment |
| VIN | string | Vehicle Identification Number |
| CarModel | string | Car Model |
| CarMake | string | Car Make |
| RegNumber | string | License plate number |
| RegNumberEscaped | string | |
| CurrentKM | int | Current odometer status |
| DMSKM | int | Odometer reading from the DMS |
| NextKM | int | Planned next appointment in kilometers on the odometer |
| CarAPKDate | time.Time | Dutch technical inspection DMS date |
| CarHUDate | time.Time | German technical inspection DMS date |
| DriverInitials | string | Driver initials |
| DriverTitle | string | Driver Title (e.g. Dhr. Mvr.,) |
| DriverFirstname | string | Driver's first name |
| DriverSurname | string | Driver's last name |
| ContractorInitials | string | Contractor's initials |
| ContractorTitle | string | Contractor's Title (e.g. Dhr. Mvr.,) |
| ContractorFirstname | string | Contractor's first name |
| ContractorSurname | string | Contractor's last name |
| OwnerInitials | string | Owner's initials |
| OwnerTitle | string | Owner's Title (e.g. Dhr. Mvr.,) |
| OwnerFirstname | string | Owner's first name |
| OwnerSurname | string | Owner's last name |
| Company | string | Contractor's company name |
| AppointmentStatusIdentifier | StatusIdentifier | Current appointment's status identifier in Claire |
| LastTimestamp | time.Time | Last time this appointment was updated |
| LastUser | string | Name of the last user that interacted with the appointment |
| LastUserProfilePicture | string | Profile picture of the last user that interacted with the appointment |
| LastUserAt | time.Time | Time at which the last user interacted with the appointment |
| NumApprovedItemsNotFixed | int | Number of items waiting to be fixed on the appointment |
| HasDBB | bool | |
| DBBAppointmentDate | time.Time | |
| CarCheckDBBStatus | DBBStatus | |
| FinalCarCheckDBBStatus | DBBStatus | |
| DBBFileReference | string | |
| DBBState | string | |
| CheckInitiatorName | string | Name of mechanic who initiated check |
| CheckInitiatorEmail | string | Email of mechanic who initiated check |
| LastReceptionistName | string | Name of receptionist who last updated the appointment |
| LastReceptionistProfilePicture | string | Profile picture of receptionist who last updated the appointment |
| LastCustomerOkSetByID | UserID | User who sets the appointment in customer ok status |
| LastCarReady | time.Time | Updated whenever Car Ready status is set |
| FleetNumber | string | Car fleet number |
| CustomerDriver | Customer | Customer (Driver) in Claire |
| CustomerOwner | Customer | Customer (Owner) in Claire |
| CustomerContract | Customer | Customer (Contract) in Claire |
| CheckInitiator | User | User that initiated check |
| DealerLocation | DealerLocation | |
| Car | Car | Car object, refer to that model for more details |
| CarProfilePicture | string | Car profile picture URL |
| StatusHistory | AppointmentStatusHistory | History of statuses |
| Interventions | Intervention | List of initial interventions |
| Checks | Check | |
| Checklists | Checklist | |
| CustomerCommunication | CustomerCommunication | |
| AcsesCommunication | AcsesCommunication | Embedded when Acses was used to exchange a key |
| CustomcomID | CustomerCommunicationID | |
| CustomcomReceptionistKey | string | |
| CustomcomStatus | CommunicationStatus | |
| CustomcomCorrectPhone | string | |
| CustomcomCorrectEmail | string | |
| CustomcomCustomerID | CustomerID | |
| CustomerOKUser | User | |
| DeskCommunications | DeskCommunication | |
| KioskCommunications | KioskCommunication | |
| KeylockerCommunications | KeyLockerCommunication | |
| DiagnoseOverviewResults | CommunicationResult | |
| RepairOverviewResults | CommunicationResult | |
| CommunicationEvents | CommunicationEvent | |
| CheckInRemarks | CheckInRemark | |
| CheckInResults | CheckInResult | |
| DiagnoseOverviewRemarks | DiagnoseOverviewRemark | |
| CommunicationNote | string | |
| Notes | AppointmentNote | |
| DealerName | string | |
| DealerCommercialName | string | |
| LocationName | string | |
| LocationPhone | string | |
| DomainName | string | |
| CarInShopSetBy | User | |
| CarOutOfShopSetBy | User | |
| KeyPickedUpBy | User | Mechanic who picked up the key |
| PlanningMechanic | User | |
| KeyDroppedBackBy | User | |
| KeyPickedUpBackBy | User | |
| AcsesKeyPickUpBy | User | |
| AcsesKeyDropBackBy | User | |
| AcsesKeyAssistPickUpBy | User | |
| ShareboxKeyPickedUpBy | User | |
| ShareboxKeyDroppedBackBy | User | |
| ShareboxKeyPickedUpBackBy | User | |
| CheckEvents | CheckEvent | Check events of the appointment, whether they are related to a status change in the status history or not |
| Logs | AppointmentLog | Logs of the appointment, like change in the customer owner etc. |
| DMSCarID | string | only used by dms v3 service |
| DMSDriverID | string | only used by dms v3 service |
| DMSOwnerID | string | only used by dms v3 service |
| DMSContractorID | string | only used by dms v3 service |
| DMSRental | bool | only used by dms v3 service |
| IsCarInShop | bool | set for the importer service only by dms v3 service |
| ExtractedDMSUsers | DMSUser | only used by dms v3 service |
AppointmentLog Model

| Field | Type | Description |
|---|---|---|
| ID | AppointmentLogID | |
| AppointmentID | AppointmentID | Appointment Identifier |
| AppointmentLogTypeID | AppointmentLogTypeID | Type of the log entry |
| UserID | UserID | User Identifier who created the log entry |
| Username | string | Name of the user who created the log entry |
| Note | string | Note containing details of the log entry |
AppointmentNote Model

| Field | Type | Description |
|---|---|---|
| ID | AppointmentNoteID | |
| AppointmentNoteTypeID | AppointmentNoteType | Type of the appointment note |
| AppointmentID | AppointmentID | Identifier of the appointment this note belongs to |
| UserID | UserID | Identifier of the user who created the note |
| PublicAccountID | PublicAccountID | Identifier of the public account, if note is added by the public API |
| UpdatedByID | UserID | Identifier of the user who last updated the note |
| Note | string | Content of the note |
| VisibleForMechanic | bool | Whether the note is visible to the mechanic |
| BackorderDate | time.Time | Expected date for backordered parts or items to arrive |
| Name | string | Name associated with the note (e.g., customer) |
| PhoneNr | string | Phone number associated with the note |
| string | Email address associated with the note | |
| RegNr | string | Vehicle registration number |
| RentalPickupTime | time.Time | Scheduled time for rental vehicle pickup |
| RentalDropOffTime | time.Time | Scheduled time for rental vehicle return |
| DMSNr | string | Identifier from the Dealer Management System |
| IsKioskCheckInNote | bool | If true, then this note is added during the kiosk check-in by customer, this is exclusive for parking note type. |
| User | User | |
| UpdatedBy | User | |
| Attachments | AppointmentNoteAttachment |
AppointmentNoteAttachment Model

| Field | Type | Description |
|---|---|---|
| ID | AppointmentNoteAttachmentID | |
| Name | string | Original name of the attachment file |
| URL | string | Internal URL where the attachment is stored |
| Type | string | MIME type or classification of the attachment (e.g., image/jpeg, application/pdf) |
| UserID | UserID | Identifier of the user who uploaded the attachment |
| AppointmentNoteID | AppointmentNoteID | Identifier of the appointment note the attachment is associated with |
| Username | string |
AppointmentStatus Model

| Field | Type | Description |
|---|---|---|
| ID | AppointmentStatusID | |
| Identifier | StatusIdentifier | |
| Name | string | |
| Icon | string | |
| Color | string | |
| Order | int | |
| DealerLocationID | DealerLocationID |
AppointmentStatusHistory Model

| Field | Type | Description |
|---|---|---|
| ID | AppointmentStatusHistoryID | Claire Appointment Status History ID |
| AppointmentStatusID | AppointmentStatusID | |
| AppointmentID | AppointmentID | |
| UserID | UserID | |
| IsDMS | bool | The status was set by the DMS |
| SARemarks | string | Remark when the status was set |
| Identifier | StatusIdentifier | Status identifier, refer to that enumeration for more details |
| LastUser | string | |
| AssignedMechanicID | UserID | |
| WONr | string | |
| RegNr | string |
Brand Model

| Field | Type | Description |
|---|---|---|
| ID | BrandID | |
| Name | string | |
| Color | string | |
| Logo | string | |
| VINPrefix | string | |
| ButtonLabel | string | |
| PonBrandCode | string | |
| ServiceBoxWO | string | |
| ServiceBoxVIN | string | |
| TabletServiceButtonURL | string | |
| DealerLocationID | DealerLocationID | |
| ChecklistID | ChecklistID |
Car Model

| Field | Type | Description |
|---|---|---|
| ID | CarID | Claire Car ID |
| IsTruck | bool | True if its a truck |
| Make | string | Car make |
| Model | string | Car model |
| Fuel | string | Fuel type |
| RegNr | string | Registration plate |
| RegNrEscaped | string | |
| VIN | string | Vehicle identification number |
| DMSNr | string | Car ID in the DMS |
| ProfilePicture | string | Car picture URL |
| EngineNr | string | |
| OCWEnabled | bool | The car supports mobile app over the air connectivity |
| FleetNumber | string | |
| DMSRegistration | time.Time | DMS registration date |
| RDWFirstRegistration | time.Time | First registration date |
| RDWFirstRegistrationNL | time.Time | First NL registration date |
| RDWTypeGoedkeuringsNummer | string | RDW type goedkeurings nummer |
| RDWType | string | RDW type |
| RDWVariant | string | RDW variant |
| RDWUitvoering | string | RDW uitvoering |
| APKDateDMS | time.Time | Dutch technical inspection DMS date |
| HUDateDMS | time.Time | German technical inspection DMS date |
| WarrantyDateStart | time.Time | When the factory warranty begins |
| WarrantyDateEnd | time.Time | When the factory warranty ends |
| WarrantyExtended | time.Time | Typically an insurance warranty that goes beyond the factory warranty |
| ROBLeaseExpiration | time.Time | Typically an insurance warranty that goes beyond the factory warranty |
| MCCStatus | MCCStatus | Car status in MCC, refer to that enumeration for more details. |
| MCCStatusTime | time.Time | Last status fetch date from MCC |
| HasDBB | bool | |
| DBBAppointmentDate | time.Time | |
| AlignmentRecommended | bool | |
| DealerID | DealerID | |
| DealerLocationID | DealerLocationID | |
| Dealer | Dealer | |
| DealerLocation | DealerLocation | |
| TyreOnCar | CarTyres | CarTyres object for the tyres on the car, see that model for more details. |
| TyreInStorage | CarTyres | CarTyres object for the tyres in storage, see that model for more details. |
| CarLeadPrediction | CarLeadPrediction | |
| TruckTyres | TruckTyres | TruckTyres object for the tyres of truck |
| Notes | CarNote | Notes on the car created in claire |
| DMSDriverID | string | used by dms v3 importer |
| DMSOwnerID | string | used by dms v3 importer |
| DMSContractorID | string | used by dms v3 importer |
CarLeadPrediction Model

| Field | Type | Description |
|---|---|---|
| CarID | CarID | |
| NextDate | time.Time | |
| PredictedDate | time.Time | |
| IsLeased | bool | |
| AppointmentID | AppointmentID | |
| DealerLocationID | DealerLocationID | |
| Car | Car | |
| Appointment | Appointment | |
| DealerLocation | DealerLocation |
CarNote Model

| Field | Type | Description |
|---|---|---|
| ID | CarNoteID | Identifier of the Car Note |
| Note | string | Car note |
| VisibleOnWO | bool | Note is visible on WO details page |
| VisibleToMechanic | bool | Note is visible to Mechanic |
| CarNoteTypeID | CarNoteType | Type of this note, Default if created in Claire, DMS if created in DMS |
| DMSNr | string | DMS Number of the note, if note type is DMS |
| CarID | CarID | Identifier of the car |
| CreatedByID | UserID | Identifier of the user who created the note |
| UpdatedByID | UserID | Identifier of the user who updated the note |
| Attachments | CarNoteAttachment | List of attachments of the car note |
| CreatedBy | User | User who created the note |
| UpdatedBy | User | User who updated the note |
CarNoteAttachment Model

| Field | Type | Description |
|---|---|---|
| ID | CarNoteAttachmentID | Identifier of the car note attachment |
| URL | string | URL of the attachment |
| Type | string | File type of the attachment |
| Name | string | Name of the attachment file |
| CarNoteID | CarNoteID | Identifier of the car note to which this attachment belongs |
| UserID | UserID | Identifier of the user who added this attachment |
| Username | string | Name of the user who created this attachment |
CarTyres Model

| Field | Type | Description |
|---|---|---|
| ID | CarTyresID | Claire CarTyres ID |
| FrontLeftTyreID | TyreID | |
| FrontRightTyreID | TyreID | |
| RearLeftTyreID | TyreID | |
| RearRightTyreID | TyreID | |
| FRProfile | float64 | Front right tyre tread depth |
| FLProfile | float64 | Front left tyre tread depth |
| RRProfile | float64 | Rear right tyre tread depth |
| RLProfile | float64 | Rear left tyre tread depth |
| FRPicture | string | Front right tyre picture URL |
| FLPicture | string | Front left tyre picture URL |
| RRPicture | string | Rear right tyre picture URL |
| RLPicture | string | Rear left tyre picture URL |
| Location | TyreLocation | Where the tyres are location, refer to that enumeration for more details |
| DBBState | string | |
| DBBFRSystemCode | string | |
| DBBFLSystemCode | string | |
| DBBRRSystemCode | string | |
| DBBRLSystemCode | string | |
| DBBFRComment | string | |
| DBBFLComment | string | |
| DBBRRComment | string | |
| DBBRLComment | string | |
| DBBLocationName | string | |
| DBBSubLocationName | string | |
| DBBLocationToken | string | |
| CarID | CarID | |
| FrontLeftTyre | Tyre | Tyre object for the front left tyre, refer to that model for more details |
| FrontRightTyre | Tyre | Tyre object for the front right tyre, refer to that model for more details |
| RearLeftTyre | Tyre | Tyre object for the rear left tyre, refer to that model for more details |
| RearRightTyre | Tyre | Tyre object for the rear right tyre, refer to that model for more details |
Check Model

| Field | Type | Description |
|---|---|---|
| ID | CheckID | Claire Check ID |
| Version | string | |
| Duration | int | Check duration in seconds |
| AppointmentID | AppointmentID | Claire appointment ID |
| MechanicID | UserID | |
| ReceptionistID | UserID | |
| ChecklistID | ChecklistID | |
| Purpose | string | |
| DBBStatus | DBBStatus | |
| CarID | CarID | |
| InterventionID | InterventionID | If provided, link the intervention for which this car check was done |
| Mechanic | User | User object of the mechanic who performed the check, refer to that model for more detail |
| Checklist | Checklist | Checklist object for this check, refer to that model for more details |
| Receptionist | User | User object of the receptionist assigned to this check, refer to that model for more detail |
| QuestionResults | QuestionResult | Array of QuestionResult object, containing the result of this check, refer to that model for more detail |
CheckEvent Model

| Field | Type | Description |
|---|---|---|
| ID | CheckEventID | |
| Type | CheckEventType | Type of the check event |
| UserID | UserID | Identifier of the user who made this check event |
| ChecklistID | ChecklistID | Claire checklist Identifier |
| CheckID | CheckID | Claire check Identifier |
| AppointmentStatusHistoryID | AppointmentStatusHistoryID | Claire status history Identifier |
| AppointmentID | AppointmentID | Claire appointment Identifier |
| UserFullName | string | The complete name of the user who created the check event |
| ChecklistName | string | The name of the checklist used when to create the check event |
| ChecklistType | ChecklistType | The type of the checklist used for the event |
CheckInAttachment Model

| Field | Type | Description |
|---|---|---|
| ID | CheckInAttachmentID | |
| URL | string | |
| Name | string | |
| CustomerCommunicationID | CustomerCommunicationID | |
| CheckInRemarkID | CheckInRemarkID |
CheckInRemark Model

| Field | Type | Description |
|---|---|---|
| ID | CheckInRemarkID | |
| ReceptionistHandled | bool | Has receptionist handled this remark |
| CustomerCommunicationID | CustomerCommunicationID | Customer communication identifier |
| Title | string | Title |
| Description | string | Description |
| CustomerName | string | Customer name |
| VisibleInDashboard | bool | Is visible in dashboard |
| VisibleToMechanic | bool | Is visible to mechanic |
| Attachments | CheckInAttachment | Attachments |
| AppointmentID | AppointmentID | Appointment identifier |
CheckInResult Model

| Field | Type | Description |
|---|---|---|
| ID | CheckInResultID | Identifier of the checkin result |
| CustomerCommunicationID | CustomerCommunicationID | Customer communication identifier |
| CheckInServiceID | CheckInServiceID | Linked check in service identifier |
| Accepted | bool | Is accepted by the customer |
| ReceptionistHandled | bool | Has receptionist handled this result |
| TagID | TagID | Identifier of the tag if any associated with this result |
| NotificationEmail | string | Notification email id |
| Status | CheckInResultStatusID | Status of the checkin result |
| Reason | string | Reason |
| MailgunMessageID | string | Mailgun message id |
| Name | string | Name |
| Description | string | Description |
| Price | float64 | Price |
| InfoURL | string | Info URL |
| HideForLeaseAppointments | bool | Hide for the lease appointment |
| Visible | bool | Is it visible |
| CanConvertToIntervention | bool | Can be converted to intervention |
| SentToLEF | bool | Is this converted to lead in LEF |
| SentToLEFAt | time.Time | Represents the date and time at which this result has been converted to lead in LEF |
| AppointmentID | AppointmentID | Appointment identifier |
| NotifierKey | NotifierKey | Notifier key |
Checklist Model

| Field | Type | Description |
|---|---|---|
| ID | ChecklistID | Claire Checklist ID |
| Name | string | Name of the checklist |
| Active | bool | Is this checklist active |
| IsActiveForMechanic | bool | Is this checklist active for mechanic |
| IsLocked | bool | Is this checklist locked |
| IncludeInReports | bool | Include this checklist in reports |
| IsCategoryMode | bool | Category mode is active for this checklist |
| CheckInCustomer | bool | Check-in the customer |
| RoleID | RoleID | |
| ChecklistType | ChecklistType | Type of checklist |
| DealerID | DealerID | Dealer Identifier |
| ChecklistTemplateID | ChecklistTemplateID | Checklist template ID |
| IsDeleted | bool | Is this checklist deleted |
| DisplayOrder | int | Display order of checklists |
| ChecklistTemplate | ChecklistTemplate | Checklist template |
| QuestionGroups | QuestionGroup | List of question groups of this checklist |
| TagIDs | TagID | list of tag ids associated with this checklist |
| Tags | Tag | Tags associated with this checklist |
| BrandIDs | BrandID | List of brand ids associated with this checklist |
| Brands | Brand | Brands associated with this checklist |
| ParentChecklist | Checklist | Parent Checklist associated with this checklist |
| PausedCheck | PausedCheck | If not nil, contain the paused check for this checklist |
| Questions | Question | List of questions associated with this checklist |
| AttachedTo | string | List of dealer names and dealer location names that are using this checklist |
ChecklistTemplate Model

| Field | Type | Description |
|---|---|---|
| ID | ChecklistTemplateID | |
| Name | string | Name of the template |
| Description | string | Description of the template |
| PrimaryColor | string | Primary color of the template |
| TextColor | string | Text color of the template |
| IconColor | string | Icon color of the template |
| PriceEnabled | bool | Price is enabled |
| CustomerOKEnabled | bool | Customer ok is enabled |
| ReadyEnabled | bool | Ready is enabled |
| SnoozeEnabled | bool | Snooze is enabled |
| PinEnabled | bool | Pin is enabled |
| MultiUseEnabled | bool | Multi-use is enabled |
| IncludeInReports | bool | Include this checklist in reports |
| TotalPDFEnabled | bool | Total in PDF is enabled |
| DefaultOnly | bool | This is default only template |
| CCDefaultSelected | bool | CC Default is selected |
| CCDefaultSelectedNVT | bool | CC Default is selected for NVT |
| PDFLayoutID | ReportTemplateID | Identifier of the pdf layout |
| AddPurpose | bool | Purpose is added |
| ShowMechanicName | bool | Mechanic name is visible |
| CanSkipKmAndDate | bool | KM and Date is skipped |
| HideTimestamp | bool | Timestamp is hidden |
| SkipUpdateAppointmentStatus | bool | Appointment status updates are enabled |
| IsPreviewable | bool | This ReportTemplate can be previewed before receiving the binary |
CommunicationAgreement Model

| Field | Type | Description |
|---|---|---|
| ID | CommunicationAgreementID | |
| Name | string | |
| Text | string | |
| DealerID | DealerID | |
| ParentID | CommunicationAgreementID | |
| Deleted | bool | |
| OptionalOnlineCheckIn | bool | |
| OptionalKioskCheckIn | bool | |
| OptionalKeyLockerCheckIn | bool | |
| OptionalDeskCheckIn | bool | |
| OptionalDeskCheckOut | bool | |
| OptionalCustomcom | bool | |
| VisibleOnlineCheckIn | bool | |
| VisibleKioskCheckIn | bool | |
| VisibleKeyLockerCheckIn | bool | |
| VisibleDeskCheckIn | bool | |
| VisibleDeskCheckOut | bool | |
| VisibleCustomcom | bool | |
| Accepted | bool | |
| CustomerCommunicationAgreementID | CustomerCommunicationAgreementID | |
| CommunicationEventID | CommunicationEventID | |
| DeskCommunicationID | DeskCommunicationID | |
| KeyLockerCommunicationID | KeyLockerCommunicationID | |
| KioskCommunicationID | KioskCommunicationID | |
| CustomerCommunicationID | CustomerCommunicationID | |
| AppointmentID | AppointmentID |
CommunicationEvent Model

| Field | Type | Description |
|---|---|---|
| ID | CommunicationEventID | |
| Type | CommunicationEventType | Event type |
| IP | string | IP from which the Customer Answered |
| KeyLockerPINSent | bool | When the Type is Answered the Customer may have received a KeyLocker PIN |
| UserID | UserID | A User was responsible for this event being created |
| CustomerCommunicationID | CustomerCommunicationID | CustomerCommunication Identifier that this event is related to |
| CustomerID | CustomerID | A Customer was responsible for this event being created |
| CustomerName | string | Name entered by the customer when answering a communication |
| CustomerSignature | string | Customer provided their signature |
| IsParkingGateCodeSent | bool | Is the parking gate code sent |
| IsAutomated | bool | This event was created automatically |
| User | User | |
| Customer | Customer | |
| Receivers | CommunicationReceiver | |
| AppointmentID | AppointmentID | |
| MailgunMessageID | string | |
| InterventionResults | CustomerCommunicationIntervention | |
| Agreements | CommunicationAgreement | |
| DiagnoseOverviewAgreedResults | DiagnoseOverviewAgreedResult | |
| DiagnoseOverviewDeclinedResults | DiagnoseOverviewDeclinedResult | |
| DiagnoseOverviewContactResults | DiagnoseOverviewContactResult |
CommunicationLayout Model

| Field | Type | Description |
|---|---|---|
| ID | CommunicationLayoutID | |
| Description | string |
CommunicationReceiver Model

| Field | Type | Description |
|---|---|---|
| ID | CommunicationReceiverID | |
| CommunicationChannelID | CommunicationChannelID | |
| Destination | string | |
| Status | CommunicationReceiverStatus | |
| Reason | string | |
| SMSGatewayID | SMSGatewayID | |
| TwilioMessageSID | TwilioMessageSID | |
| MailgunMessageID | string | |
| ChatshipperConversationID | ChatshipperConversationID | |
| WebhookID | WebhookID | |
| CommunicationEventID | CommunicationEventID | |
| AppointmentID | AppointmentID |
CommunicationResult Model

| Field | Type | Description |
|---|---|---|
| QuestionResultID | QuestionResultID | |
| CustomerCommunicationID | CustomerCommunicationID | present for customer communications |
| DeskCommunicationID | DeskCommunicationID | present for desk communications |
| Status | CommunicationResultStatus | present for desk check in/out and diagnose, where it is possible to answer for each question result |
| CheckID | ChecklistID | |
| ChecklistType | ChecklistType | |
| ChecklistName | string | |
| ChecklistOrder | int | |
| GroupName | string | |
| GroupOrder | int | |
| QuestionOrder | int | |
| QuestionOptions | QuestionOption | |
| Title | string | |
| Price | float64 | |
| MechanicFixed | bool | |
| MechanicNotes | string | |
| QuestionStatus | QuestionResultStatus | |
| CustomerApproved | bool | |
| Images | QuestionResultImage | |
| Videos | QuestionResultVideo | |
| AnswerItem | AnswerItem | |
| TyreID | TyreID | |
| TyreProfile | float64 | |
| Tyre | Tyre | |
| TyrePosition | TyrePosition | |
| TyreReplacements | TyreReplacement | |
| PinTypeID | PinTypeID |
CommunicationSetting Model

| Field | Type | Description |
|---|---|---|
| ID | CommunicationSettingID | |
| Color | string | Color |
| Logo | string | Logo |
| WelcomeText | string | Welcome text |
| WelcomePicture | string | Welcome picture |
| SuccessText | string | Success text |
| CarReadyWelcomeText | string | Car Ready Welcome text |
| CheckinWelcomeText | string | Checkin Welcome text |
| CheckinSuccessText | string | Checkin Success text |
| Layout | CommunicationLayoutID | Layout |
| DiagnoseOverviewRemarksEnabled | bool | Is Diagnose overview remarks enabled |
| CheckInRemarksEnabled | bool | is checkin remarks enabled |
| PhoneNumber | string | Phone number |
| string | ||
| DealerLocationID | DealerLocationID | Dealer Location Identifier |
| SupportEnabled | bool | Is support enabled |
| SupportText | string | Support text |
| CheckInDaysPrior | int | Number of days before which online checkin can be send |
| OnlineCheckInSendPIN | bool | Include PIN in online checkin |
| SendParkingGateCode | bool | Sending parking gate code is enabled |
| OnlineCheckinNameVisible | bool | Name visible in online checkin |
| DiagnoseOverviewNameVisible | bool | Name visible in diagnose overview |
| CheckInTestingMode | bool | Is testing mode for online checkin |
| CheckInTestingEmail | string | Testing email for online checkin |
| CheckInTestingPhone | string | Testing phone for online checkin |
| CounterTabletHomeURL | string | Home URL for the counter tablet |
| DiagnoseCCTestingMode | bool | Is testing mode enabled for diagnose communication |
| DiagnoseCCTestingEmail | string | Testing email for diagnose communication |
| DiagnoseCCTestingPhone | string | |
| RepairCCTestingMode | bool | Is testing mode enabled for repair communication |
| RepairCCTestingEmail | string | Testing email for repair communication |
| RepairCCTestingPhone | string | Testing phone for repair communication |
| AutomaticallySendRepairOverviewWhenCarReady | bool | On setting a workorder in car ready state, automatically send repair overview |
| AutomaticallySendRepairOverviewWhenQualityCheck | bool | On performing quality check on a workorder, automatically send repair overview |
| AutomaticallySendRepairOverviewOnCarReadyAndOutOfShop | bool | Automatically send a repair overview whenever car is ready and moved out of shop. |
| DisableSendingAutomatedRepairOverviewOnQualityIssues | bool | Disable sending automated repair overview on quality issues, i.e. if enabled, repair overview will not be sent automatically on the quality check. |
| HidePriceForAutomaticRepairOrder | bool | When a repair overview is sent automatically this will hide the prices for the customer |
| Website | string | Website |
| ReportTemplateID | ReportTemplateID | Report template identifier |
| HeadingPosition | HeadingPosition | Heading position |
| SendConfirmationEmails | bool | Can send confirmation emails |
| EnableNotFixedAdvised | bool | Is not fixed advised enabled |
| EnableNotFixedCritical | bool | Is not fixed critical enabled |
| CannotDeclineWarrantyTypes | bool | Cannot decline interventions/question results which are pinned to warranty types |
| EnableNotFixWithoutStatus | bool | Is not fixed without status, applicable to those interventions which are converted from question result check |
| SkipOptionalItems | bool | |
| HideLeaseInterventionPrice | bool | Hide price for interventions of lease appointment |
| HideInternalInterventionPrice | bool | Hide price for internal intervention |
| HideWarrantyInterventionPrice | bool | Hide price for warranty type intervention |
| HideRecallInterventionPrice | bool | Hide price for recall type intervention |
| HidePricesInDeskCommunication | bool | Hide prices in desk communication. Used when the location always expects the driver of the vehicle to not be the owner |
| BlockAutomatedCommunicationForLeaseCustomer | bool | Block the automate communication for lease customers |
| IsSMSForOnlineCheckInEnabled | bool | Is SMS enabled for the online checkin |
| IsCustomerNameInKioskCheckinEnabled | bool | Is customer name enabled in kiosk checkin |
| IsCustomerSignatureInKioskCheckinEnabled | bool | Is customer signature enabled in kiosk checkin |
| IsCustomerOKReadOnlyInDeskCheckIn | bool | If set to true, the Customer OK option in desk checkin is read only, i.e. Customer cannot set ok for the results |
| IsDeskContactInfoEnabled | bool | Show the customer a popup on desk-checkin for the customer to enter their contact information |
| ExternalJS | string | External JS code snippet |
| ExternalCSS | string | External CSS code snippet |
| GoogleAnalyticsID | string | Google Analytics ID |
| DisplayInterventionElements | bool | Display intervention elements |
| EnableClosingPopUpOnUnansweredCommunication | bool | Enable closing pop up on unanswered communication |
| ShowParkingLocationNoteOnKioskCheckIn | bool | If enabled, then kiosk checkin will show an option to customer to add a parking note, this note is treated as parking note on a workorder. |
| Layouts | CommunicationLayout | List of communication layouts |
| LanguageCode | LanguageCode | Language code |
| VAT | float64 | VAT |
| IncludeVAT | bool | Is VAT Included |
| DMSPriceEnabled | bool | Is DMS price enabled |
| TotalPDFEnabled | bool | is total pdf enabled |
| DealerName | string | Dealer name |
| LocationName | string | Location name |
| LocationStreet | string | Location street |
| LocationPostalCode | string | Location postal code |
| LocationCity | string | Location city |
| LocationCountry | string | Location country |
| Headline | string | Headline |
| SummerAThreshold | float64 | A Threshold for Summer tyres |
| SummerNThreshold | float64 | N Threshold for Summer tyres |
| WinterAThreshold | float64 | A Threshold for Winter tyres |
| WinterNThreshold | float64 | N Threshold for Winter tyres |
| AllSeasonAThreshold | float64 | A Threshold for All season tyres |
| AllSeasonNThreshold | float64 | N Threshold for All season tyres |
| MechanicName | string | Mechanic name |
| ShowMechanicName | bool | Show mechanic name |
| IsEmployeeNameVisible | bool | Is employee name visible |
| HasMultipleCommunicationChannels | bool | Has multiple communication channels supported |
| IsAcsesEnabled | bool | Is Acses Enabled |
| MaintenanceMode | bool | Is Maintenance Mode enabled |
| GenerateAISummary | bool | Generating summary for customer communication is enabled for this location |
Customer Model

| Field | Type | Description |
|---|---|---|
| ID | CustomerID | Customer's ID |
| MetaDMSNr | string | Some DMS can have multiple contacts for a single customer. This field, alongside dms_nr, help to identify which contact should be referenced |
| DMSNr | string | Identifier in DMS |
| LastAppointmentDate | time.Time | Last appointment this Customer was associated with |
| LastDisposalAt | time.Time | When the customer information was removed due to no longer being associated with recent appointments |
| Company | string | Company name |
| IsLeaseCompany | bool | Is the company a lease company |
| IsInternal | bool | Is this customer for Internal usage |
| IsInternalEdited | bool | IsInternal was edited through Claire |
| Passant | bool | Is the customer a walk-in without appointment |
| Title | string | Salutation title of the customer |
| Initials | string | Initials of the customer |
| FirstName | string | First Name of the customer |
| Surname | string | Surname of the customer |
| Street | string | Street address of the customer |
| HouseNr | string | House Number of the customer |
| Postcode | string | Postcode of the customer |
| Place | string | Place of the customer |
| Country | string | Country of the customer |
| BlockCommunication | bool | Customer has opted for no communication |
| PreferredCommunicationChannel | CommunicationChannelID | Preferred communication channel opted by the customer |
| EmailPrivate | string | Private Email |
| EmailBusiness | string | Business Email |
| TelBusinessNr | string | Business Landline Number |
| TelPrivateNr | string | Private Landline Number |
| TelMobilePrivate | string | Private Mobile Number |
| TelMobileBusiness | string | Business Mobile Number |
| Birthday | time.Time | Birthday of the customer |
| DealerLocationID | DealerLocationID | Location Identifier of the customer |
| DealerID | DealerID | Dealer ID of the customer |
| DealerLocation | DealerLocation | |
| Dealer | Dealer | |
| Appointments | Appointment | |
| Cars | Car | |
| CustomerType | CustomerType | Customer type |
CustomerCommunication Model

| Field | Type | Description |
|---|---|---|
| ID | CustomerCommunicationID | CustomerCommunication Identifier |
| ReceptionistKey | string | Key given and used by the Receptionist |
| Status | CommunicationStatus | Current status of this CustomerCommunication |
| Version | int | Version of Online-CheckIn at the time this was created |
| CorrectPhone | string | Phone Number given by the Customer |
| CorrectEmail | string | Email given by the Customer |
| CustomerID | CustomerID | Customer who this CustomerCommunication is for |
| AppointmentID | AppointmentID | Appointment from which this CustomerCommunication originated from |
| CarID | CarID | Car from which the Appointment is for |
| ReceptionistID | UserID | Receptionist who last interacted with this CustomerCommunication |
| DealerLocationID | DealerLocationID | DealerLocation from which the Appointment is from |
| Note | string | Note set by Receptionist |
| Customer | Customer | Customer who this CustomerCommunication is for |
| Appointment | Appointment | Appointment from which this CustomerCommunication originated from |
| Car | Car | Car from which the Appointment is for |
| Receptionist | User | Receptionist who last interacted with this CustomerCommunication |
| Results | CommunicationResult | CommunicationResults that the customer was sent in diagnose or repair overview |
| CheckInRemarks | CheckInRemark | CheckInRemarks that the Customer created |
| DiagnoseOverviewRemarks | DiagnoseOverviewRemark | Remarks entered during diagnose overview by the customer |
| CheckInResults | CheckInResult | CheckInResults that the Customer was sent during online or desk or keylocker check-in |
| DiagnoseOverviewResults | CommunicationResult | Diagnose Overview Results that the customer was sent in diagnose overview |
| Agreements | CommunicationAgreement | CommunicationAgreements that have been agreed |
| Events | CommunicationEvent | CommunicationEvents that have occurred |
| IsReceptionist | bool | The Receptionist is currently interacting with this CustomerCommunication |
| Settings | CommunicationSetting | Settings for this CustomerCommunication |
CustomerCommunicationIntervention Model

| Field | Type | Description |
|---|---|---|
| ID | CustomerCommunicationInterventionID | |
| Title | string | Title of the Intervention at the time of this object's creation |
| Description | string | Description of the Intervention at the time of this object's creation |
| Price | float64 | Price of the Intervention at the time of this object's creation |
| VAT | float64 | VAT of the Intervention at the time of this object's creation |
| CommunicationResultStatus | CommunicationResultStatus | What the customer decided for this intervention |
| InterventionID | InterventionID | Identifier of the Intervention that the Customer saw |
| CommunicationEventID | CommunicationEventID | Identifier of the answered CommunicationEvent |
| AppointmentID | AppointmentID |
DMSUser Model

| Field | Type | Description |
|---|---|---|
| DealerLocationID | DealerLocationID | dealer location id of the dms user |
| DMSNr | string | dms nr of the user |
| Name | string | name of the user |
| UserID | UserID | Claire User ID of the DMS User |
DNSRecord Model

| Field | Type | Description |
|---|---|---|
| RecordType | string |
Dealer Model

| Field | Type | Description |
|---|---|---|
| ID | DealerID | |
| Name | string | Name of the dealer |
| CountryCode | string | Country code associated with the dealer |
| Active | bool | Dealer is currently active |
| CanAddUsers | bool | Dealer can add additional users |
| AcceptedAPIAgreement | bool | The dealer has accepted Claire's API agreement |
| DBBEnabled | bool | Dealer has enabled DBB functionality |
| CustomDomainEnabled | bool | A custom domain is enabled for the dealer |
| WebsiteURL | string | The URL of the dealer's website |
| SysAdminName | string | Name of the system administrator |
| SysAdminEmail | string | Email address of the system administrator |
| SysAdminPhone | string | Phone number of the system administrator |
| DMSServerInfo | string | Information related to the dealer's physical machine running the DMS |
| NetworkInfo | string | Details about the dealer's network configuration |
| ZohoKey | string | Key related to Zoho integration |
| City | string | City where the dealer is located |
| Street | string | Street address of the dealer |
| Region | string | Region or state where the dealer is situated |
| PostalCode | string | Postal code or ZIP code of the dealer's location |
| PhoneNr | string | Phone number of the dealer |
| DomainName | string | Name of the dealer's domain |
| EnableCarReady | bool | Car Ready' status feature is enabled |
| CustomerDataRetentionInYears | int | How long to wait before disposing of a customers information |
| KeyloopContractCode | string | Keyloop Dealer Identifier |
| KeyloopAPIKey | string | Keyloop API key override |
| ICARLastUpdate | time.Time | Last time for this dealer that ICar processing occurred |
| DMSQuotaWarningReached | DMSQuotaStatus | Scheduler DMS quota warning level reached |
| ChatshipperEmail | string | Email address for Chatshipper service |
| SMSGatewayID | SMSGatewayID | Denotes which SMS Service the dealer is using |
| TwilioAccountSID | string | Account SID for Twilio integration |
| TwilioAPIKey | string | API key for Twilio integration |
| TwilioPhoneNumber | string | Phone number used by Twilio for contacting customers |
| IsTwilioSubAccountManaged | bool | Twilio sub-account is managed by Claire |
| IsTwilioPhoneNumberManaged | bool | TwilioPhoneNumber is managed by Claire |
| IsTwilioAPIKeyManaged | bool | TwilioAPIKey is managed by Claire |
| TwilioMonthlyDollarLimit | float64 | Twilio's monthly limit in dollars' |
| TwilioMonthlyDollarLimitUsageTriggerSID | string | Twilio Account SID to trigger monthly price limit overuse |
| TwilioMonthlySMSLimit | int | Twilio's monthly sms limit' |
| TwilioMonthlySMSLimitUsageTriggerSID | string | Twilio Account SID to trigger monthly sms limit overuse |
| TwilioDailyDollarLimitUsageTriggerSID | string | Twilio Account SID to trigger daily limit overuse |
| PlanItPlanningEnabled | bool | Indicates if PlanIt planning is enabled |
| PlanItPlanningUserName | string | Username for PlanIt planning |
| OneiPlanningEnabled | bool | Indicates if Onei planning is enabled |
| OneiPlanningEnvironmentGuid | string | Environment GUID for Onei planning |
| WebClockURL | string | URL for web clock functionality |
| AdvisedCriticalHistoryEnabled | bool | Advised critical history is enabled |
| IsSnoozeTypeNextVisitCustomerEnabled | bool | Next Visit Customer Snooze Type is enabled |
| IsSnoozeTypeMakeOfferEnabled | bool | Make Offer Snooze Type is enabled |
| IsSnoozeTypeMakeNewAppointmentEnabled | bool | Make New Appointment Snooze Type is enabled |
| IsSnoozeTypeRemindCustomerEnabled | bool | Remind Customer Snooze Type is enabled |
| IsSnoozeStatusEnabled | bool | Snooze Status is enabled |
| IsSnoozeDepartmentEnabled | bool | Snooze Department is enabled |
| IsSnoozeAttachmentEnabled | bool | Snooze Attachment is enabled |
| IsPonEnabled | bool | Access to PON API is enabled |
| PonUsername | string | Username to access PON API |
| ExactAccountID | AccountID | ID of the linked account in Exact Online |
| ExactInvoiceLayout | string | ID of the layout to use for dealer level Exact Invoices |
| IsExactInvoicingEnabled | bool | Use Exact invoice generation |
| IsExactDealerStartupCostsInvoiced | bool | Is the startup cost for this dealer already invoiced |
| IsExactOneiStartupCostsInvoiced | bool | Is the Onei startup cost for this dealer already invoiced |
| LEFUsername | string | Username for LEF |
| Checklists | Checklist | Checklists created by this dealer |
| DealerLocations | DealerLocation | Locations created by this dealer |
| Domain | Domain | Domain configured for this dealer |
| DMSCapabilityIDs | DMSCapabilityID | DMS Capabilties of this dealer |
| HasKeyloopAPIPassword | bool | Password for Keyloop API override bas been set |
| HasChatshipperPassword | bool | Password for Chatshipper service bas been set |
| HasTwilioAPISecret | bool | API secret for Twilio integration has been set |
| HasTwilioAuthToken | bool | Authentication token for Twilio integration has been set |
| HasPlanItPlanningPassword | bool | Password for PlanIt planning has been set |
| HasOneiPlanningApiKey | bool | API key for Onei planning has been set |
| HasPonPassword | bool | Password for Pon has been set |
| HasLEFPassword | bool | Password for LEF has been set |
| HasFailedInvoices | bool | Has failed Exact invoices |
| EnabledWarrantyTypes | WarrantyTypeID | List of warranty types enabled for this dealer |
DealerLocation Model

| Field | Type | Description |
|---|---|---|
| ID | DealerLocationID | Claire dealer location ID |
| NotifierKey | NotifierKey | |
| DMSID | DMSID | DMS ID in Claire |
| DSN | string | Set if a different DSN per location is necessary at the DMS side, otherwise empty and the dealer DSN is used |
| DMSWriteBack | bool | Is write back to DMS enabled |
| UpgradeCarWithRDW | bool | Is updating the car with information from rdw enabled |
| UpgradeWithRDWAPKDate | bool | Upgrades the APK Date of the car with what is from RDW |
| WriteBackRDWAPKDate | bool | Writeback the APK Date to the DMS if the RDW APK Date is more recent |
| DMSLocationSource | string | DMS Datasource for the location |
| KeepImportingAfterWorkStarted | bool | Interventions will be imported even after work has started on the appointment |
| Active | bool | Location is active if true |
| TrackDMSImporting | bool | If data is missing, a support ticket will be created |
| Name | string | Name |
| CommercialName | string | Commercial name of the Claire Dealer Location |
| Headline | string | Headline |
| Footerline | string | Footerline |
| Logo | string | Logo URL |
| CompanyStamp | string | Official stamp of approval given by the location |
| LanguageCode | LanguageCode | Default language for the location |
| VAT | float64 | VAT |
| IncludeVAT | bool | Include VAT |
| ImporterVersion | string | Version of the importer |
| SummerAThreshold | float64 | A Threshold for summer tyres |
| SummerNThreshold | float64 | N Threshold for summer tyres |
| WinterAThreshold | float64 | A Threshold for winter tyres |
| WinterNThreshold | float64 | N Threshold for winter tyres |
| AllSeasonAThreshold | float64 | A Threshold for all_season tyres |
| AllSeasonNThreshold | float64 | N Threshold for all_season tyres |
| TruckTyreAThreshold | float64 | A Threshold for truck tyres |
| TruckTyreNThreshold | float64 | N Threshold for truck tyres |
| CarReadyBtnVisible | bool | Car ready button is visible |
| APKVisible | bool | APK is visible |
| HUVisible | bool | HU is visible |
| DateVisible | bool | Date is visible |
| AcceptNetworkMetrics | bool | Accept network metrics |
| LastImportAt | time.Time | Last imported at time stamp |
| Street | string | Street |
| PostalCode | string | Postal code |
| City | string | City |
| Country | string | Country |
| PhoneNr | string | Phone number |
| DealerID | DealerID | Dealer Identifier |
| ExtraPartsListID | ChecklistID | Extra parts list ID |
| DefaultCustomer | string | Default customer |
| DpDriverVisible | bool | DP Driver is visible |
| DpContractorVisible | bool | DP Contractor is visible |
| DpOwnerVisible | bool | DP Owner is visible |
| UnpinAppointmentsOnIsBilled | bool | Unpin appointments automatically when they are considered billed |
| UnpinAppointmentsOnCarOutOfShop | bool | Unpin appointments automatically when the Car leaves the location |
| UnpinPastAppointmentsOlderThan | int | Unpin appointments automatically once their date is this many days in the past |
| UnpinFutureAppointmentsFurtherThan | int | Unpin appointments automatically once their date is this many days in the future |
| PinVisible | bool | Pin is visible |
| VideoEnabled | bool | Video is enabled |
| ScheduleEnabled | bool | Schedule is enabled |
| FirstNameOptional | bool | First name is optional |
| MCCButtonVisible | bool | MCC button is visible |
| IsRobnetEnabled | bool | Robnet is enabled |
| CustomerCommunicationVisible | bool | Customer Communication is visible |
| DatastoreKey | string | Datastore key |
| FleetNrVisible | bool | Fleet number is visible |
| ServiceBoxVisibleOnCar | bool | Service box visible on car |
| ServiceBoxVisibleOnWO | bool | Service box visible on wo |
| DBBEnabled | bool | DBB is enabled |
| DBBUser | string | DBB user |
| IPAddressEnabled | bool | IP Address is enabled |
| IPAddress | string | IP Address |
| DMSPriceEnabled | bool | DMS Prices is enabled |
| DMSBillingEnabled | bool | DMS Billing is enabled |
| DMSWarrantyPin | bool | DMS Warranty Pin is enabled |
| ThirdPartySendCommunications | bool | Third party can be used for sending communications |
| OnlineCheckInEnabled | bool | Online check in is enabled |
| DeskCheckInEnabled | bool | Desk check in is enabled |
| IsOpenDeskCheckoutOnCarOutOfShopEnabled | bool | Desk Checkout will automatically open when the receptionist sets Car out of Shop |
| CarOutOfShopAtDeskCheckOutEnabled | bool | At Desk Checkout, car will be set out of shop automatically |
| DiagnoseOverviewEnabled | bool | Diagnose overview is enabled |
| RepairOverviewEnabled | bool | Repair overview is enabled |
| DefaultCustomerOkForDMSLeaseIntervention | bool | Default customer ok for DMS Intervention with lease customer |
| ZohoID | string | Zoho Identifier |
| KeyloopBusinessUnit | string | Keyloop business unit |
| IsKeyloopEventEnabled | bool | Use keyloop webhooks |
| IsNextlaneEventEnabled | bool | Use nextlane events |
| AutoflexUsername | string | Autoflex username |
| AppointmentDetailUsersIndicatorEnabled | bool | Appointment detail users indicator enabled |
| IsEmployeeNameVisible | bool | Employee name is visible |
| IsCarInShopPrintEnabled | bool | Car in shop print is enabled |
| IsKeyLockerEnabled | bool | KeyLocker is enabled |
| KeyLockerCode | KeyLockerPIN | KeyLocker Code |
| IsTyreTeamEnabled | bool | Tyreteam is enabled |
| IsTyreTeamAutofillPriceRefOnOrder | bool | When ordering tyres, a ref field will be autofilled with the price |
| IsTyreNetEnabled | bool | TyreNet is enabled and the location can retrieve tyres from it |
| IsTireScannerEnabled | bool | Tyre scanner is enabled |
| TireScannerPrivateKey | string | Tire scanner private key |
| IsAAEquipmentEnabled | bool | AAEquipment tire scanner is enabled |
| IsEditingQuestionVideosEnabled | bool | Question video editing is enabled |
| AutomaticallyPinAppointments | bool | Automatically pinning appointments is enabled |
| IsManuallyPinningAppointmentsEnabled | bool | Manually pinning appointments is enabled |
| AutomaticallyPinCarInShop | bool | if enabled, appointment will be pinned on setting car in shop, and it will be unpinned automatically if no other condition will force it to be in pinned state. |
| IsAutomaticallyPinnedAppointmentsReadonly | bool | Automatically pinned appointments are readonly is enabled |
| IsDayplannerEnabled | bool | Dayplanner is enabled |
| AutomaticallyAssignWOWhenCheckStarted | bool | Automatically assign the workorder to the mechanic who started the check |
| AutomaticallyAssignWOWhenInterventionFixed | bool | Automatically assign the workorder to the mechanic who fixed the intervention |
| RecurringCarDuration | int | Duration in week to mark a car as recurring car, default is 4 weeks |
| AutomaticAppointmentRefreshInterval | int | When the location is connected to a Scheduler DMS. This will automatically update appointments, upon opening, if the elapsed time surpasses the specified interval |
| PlanItPlanningEstablishmentID | PlanItPlanningEstablishmentID | PlanIt Planning Identifier for the location |
| PlanitPlanningReplacementVehicle | bool | Convert the planit replacement vehicle into a note on the appointment |
| ConvertChecklistToInterventionIsEnabled | bool | Set it to true to enable converting a checklist to an intervention |
| ManuallyCreateInterventionIsEnabled | bool | Set it to true to enable manually creating interventions |
| CreateWOIsEnabled | bool | Set it to true to enable manually creating workorders |
| LastManuallyCreatedWOCounterIncrement | time.Time | Last time an appointment was created manually in claire. Used to reset the counter daily |
| ManuallyCreatedWOCounter | int | Counter to generate WONrs for manually created appointments |
| CanEditChecklistAfterCarReady | bool | Set it to true to enable editing the checklist after the car is ready |
| CanAddInterventionElements | bool | Set it to true to enable adding elements to interventions, by default it is enabled |
| IsAssignedWOStatusChangeNotificationEnabled | bool | Set it to true to enable sending notifications when the wo is assigned without status changed. |
| WebClockOmgevingID | WebClockOmgevingID | ID from the Omgeving in TruckVision database to use WebClock |
| BarCodeType | Barcode | Type of barcode to be scanned |
| IsWarrantyPinSupportWarningEnabled | bool | Is support nr warning enabled on the warranty pin |
| IsWarrantyPinClaimWarningEnabled | bool | Is claim nr warning enabled on the warranty pin |
| IsRecallPinSupportWarningEnabled | bool | Is support nr warning enabled on the recall pin |
| IsRecallPinClaimWarningEnabled | bool | Is claim nr warning enabled on the recall pin |
| IsWarrantyPinSignatureMissingWarningEnabled | bool | Is warning enabled for missing signature on warranty pin |
| EVHCExportEnabled | bool | EVHC exports are Enabled |
| EVHCPrimaryCode | string | EVHC Primary Dealer Code |
| EVHCSecondaryCode | string | EVHC Secondary Dealer Code |
| IsCustomerAnsweredCheckInMandatory | bool | Is customer answered checkin mandatory |
| IsNextKmAndNextDateOptional | bool | Next Km and Next Date are optional fields |
| HideNextKmAndNextDate | bool | Hide next km and next date on the wo detail page |
| IsShareboxEnabled | bool | Sharebox credentials are enabled |
| ShareboxApiClientID | string | Sharebox API Client ID used as client_id during authentication |
| ShareboxCustomerID | string | Sharebox customer id |
| ShareboxSessionID | string | Sharebox session id |
| IsKioskEnabled | bool | Kiosks are enabled |
| IsAcsesEnabled | bool | Acses lockers are enabled |
| AcsesEmail | string | Acses email used as Basic Auth during authentication |
| IsRecallsServiceEnabled | bool | Recalls service is enabled |
| IsPonEnabled | bool | PON API is enabled |
| PonLocationNumber | string | PON Location Number |
| IsPonWheelTyreEnabled | bool | Is the usage of PON Wheel Tyre api is enabled for this location |
| PonWheelTyreCustomerID | string | PON Wheel Tyre Customer ID |
| PonWheelTyreLocationID | string | PON Wheel Tyre Location ID |
| ExactAccountID | AccountID | ID of the linked account in Exact Online |
| ExactInvoiceLayout | string | ID of the layout to use for location level Exact Invoices |
| IsExactInvoicingEnabled | bool | Use Exact invoice generation |
| IsExactCategoryLicenceEnabled | bool | Use Exact category licenses |
| IsExactLocationStartupCostsInvoiced | bool | Is the startup cost for this location already invoiced |
| IsTyreMotionEnabled | bool | Is the usage of tyre motion api enabled on this location |
| KeyLabelTypeID | KeyLabelTypeID | The Key Label type is used to include standard/basic data in the key label |
| KeyLabelLayoutID | KeyLabelLayoutID | This key label layout represents the default layout for the key label at a location |
| RedirectToNewWebVersion | bool | Redirect the user to new web version |
| IsLEFEnabled | bool | Is the usage of LEF api enabled on this location |
| LEFAccountNumber | string | LEF Account Number |
| GenerateAISummary | bool | Enable it to generate summary in customer communication using AI, a key is needed if enabled. |
| CheckInDaysPrior | int | |
| SendParkingGateCode | bool | |
| CannotDeclineWarrantyTypes | bool | |
| Brands | Brand | |
| WarrantyPinSignatureBrands | Brand | |
| Checklists | Checklist | |
| AppointmentStatuses | AppointmentStatus | |
| Timeslots | Timeslot | |
| Dealer | Dealer | |
| DealerName | string | |
| DMSCapabilityIDs | DMSCapabilityID | |
| MCCCodes | MCCDealerLocationCode | |
| LastDMSUpdate | time.Time | |
| AutoUnpinAppointmentStatuses | StatusIdentifier | |
| HasAutoflexPassword | bool | Autoflex password has been set |
| HasShareboxApiClientSecret | bool | Sharebox API Client secret used as client_secret during authentication has been set |
| HasShareboxWeblinkAccessKey | bool | Sharebox weblink access key has been set |
| HasShareboxPrivateKey | bool | Sharebox private key has been set |
| HasDBBPassword | bool | DBB Password has been set |
| HasRobnetApiKey | bool | Robnet API Key has been set |
| HasAcsesPassword | bool | Acses password has been set |
| HasTyreNetTicUID | bool | TyreNet Tic UID has been set |
| HasTyreNetTicID | bool | TyreNet Tic ID has been set |
| HasGenAIAPIKey | bool | Gen AI API Key has been set |
| HasFailedInvoices | bool | Has failed Exact invoices |
| NoteSuggestions | NoteSuggestion | List of suggestions for notes |
| NoteTypes | NoteType | List of types of notes for the suggestions |
| DMSLocations | DealerLocationDMS | List of dms configurations for this location |
| BrandIDs | BrandID | Brand IDs list |
| NumberOfMissingExactLicenses | int | The quantity of Exact license categories that don't have a connected license' |
| EnabledAppointmentNoteTypeIDs | AppointmentNoteType | List of enabled Appointment Note Types |
| AAEquipmentTyreScanners | AAEquipmentTyreScanner | List of AAEquipment tyre scanner linked to a short code |
DealerLocationDMS Model

| Field | Type | Description |
|---|---|---|
| ID | DealerLocationDMSID | |
| DealerID | DealerID | Dealer Identifier |
| DealerLocationID | DealerLocationID | Dealer Location Identifier |
| DMSID | DMSID | DMS platform Identifier |
| Comment | string | Comments for this configuration |
| DMSLocationID | string | Location Identifier in the DMS |
| Database | string | Database Identifier in the DMS |
| MaintenanceIntervention | string | Identify interventions to be labeled as Maintenance when importing from the DMS |
| CustomerNotApproved | string | Identify interventions that are not customer approved when importing from the DMS |
| NotVisibleToCustomer | string | Identify interventions that are not visible to the customer when importing from the DMS |
| ExcludeFromImport | string | Identify interventions to be not imported when importing from the DMS |
| AutolineConfig | DealerLocationDMSAutolineConfig | |
| IncadeaConfig | DealerLocationDMSIncadeaConfig |
DealerLocationDMSAutolineConfig Model

| Field | Type | Description |
|---|---|---|
| DealerLocationDMSID | DealerLocationDMSID | Dealer location dms Identifier |
| BusinessCustomerTableID | string | Table to use when selecting business customers (contractors) |
| CustomerTableID | string | Table to use when selecting customers |
| CarTableID | string | Table to use when selecting cars |
| CustomerDetailTableID | string | Table to use when selecting customer details |
| CarMakeTableID | string | Table to use when selecting car make |
| CarNoteTableID | string | Table to use when selecting car notes |
| DepartmentID | string | Department Identifier, since Locations can be split into departments |
| VatTableID | string | Table to use when selecting how to calculate VAT on prices |
| PriceIncludesVat | string | Prices include VAT already calculated |
| RentalBilled | string | Identifier for the Customer having paid for using a rental vehicle, used to set the billed status |
| RentalCode | string | Identifier for the code of the rental vehicle, used to set the billed status |
| RentalStatus | string | Identifier for the state of the rental vehicle, used to set the billed status |
DealerLocationDMSIncadeaConfig Model

| Field | Type | Description |
|---|---|---|
| DealerLocationDMSID | DealerLocationDMSID | Dealer location dms Identifier |
| DMSDealerID | string | |
| DMSAppointmentType | string | Appointment type in the DMS to query for some extra data like APK |
| DMSWarrantyInterventionID | string | Identify intervention that are for warranty purpose |
| DMSInternalInterventionID | string | Identify intervention that are internal |
DeskAgreedIntervention Model

| Field | Type | Description |
|---|---|---|
| ID | DeskAgreedInterventionID | |
| Title | string | Title of the agreed intervention |
| Description | string | Description of the agreed intervention |
| Price | float64 | Price of the agreed intervention |
| VAT | float64 | VAT of the agreed intervention |
| DeskCommunicationID | DeskCommunicationID | Identifier of the desk communication |
DeskCommunication Model

| Field | Type | Description |
|---|---|---|
| ID | DeskCommunicationID | |
| ReceptionistKey | string | Key given and used by the Receptionist |
| Status | DeskCommunicationStatus | Current status of this DeskCommunication |
| IsCheckingOut | bool | If the communication is done when the appointment status is car ready or quality check, this is set to true |
| CorrectPhone | string | Phone number entered by the customer |
| CorrectEmail | string | Email entered by the customer |
| CustomerID | CustomerID | Customer who this DeskCommunication is for |
| AppointmentID | AppointmentID | Appointment from which this DeskCommunication originated from |
| CarID | CarID | Car from which the Appointment is for |
| ReceptionistID | UserID | Receptionist who last interacted with this DeskCommunication |
| DealerLocationID | DealerLocationID | DealerLocation from which the Appointment is from |
| Customer | Customer | Customer associated with the desk communication |
| Appointment | Appointment | Appointment associated with the desk communication |
| Car | Car | Car associated with the appointment for this desk communication |
| User | User | Receptionist, whom the receptionist key belongs to |
| IsReceptionist | bool | The Receptionist is currently interacting with this DeskCommunication |
| Events | DeskCommunicationEvent | Desk communication events for the desk communication |
| AgreedInterventions | DeskAgreedIntervention | Slice of agreed interventions |
| DeclinedInterventions | DeskDeclinedIntervention | Slice of declined interventions |
| Agreements | CommunicationAgreement | DeskAgreements that have been agreed |
| Results | CommunicationResult | CommunicationResults that the customer was sent in desk check in |
| Settings | CommunicationSetting | Settings for this CustomerCommunication |
| UserTabletModeKey | string | Key if it is user tablet mode |
DeskCommunicationEvent Model

| Field | Type | Description |
|---|---|---|
| ID | DeskCommunicationEventID | |
| Type | DeskCommunicationEventType | Type of the DeskCommunicationEvent |
| CustomerName | string | Name of the customer |
| CustomerSignature | string | Signature of the customer |
| DeskCommunicationID | DeskCommunicationID | Identifier of the desk communication |
DeskDeclinedIntervention Model

| Field | Type | Description |
|---|---|---|
| ID | DeskCheckInDeclinedInterventionID | |
| Title | string | Title of the declined intervention |
| Description | string | Description of the declined intervention |
| Price | float64 | Price of the declined intervention |
| VAT | float64 | VAT of the declined intervention |
| DeskCommunicationID | DeskCommunicationID | Identifier of the desk communication |
DiagnoseOverviewAgreedResult Model

| Field | Type | Description |
|---|---|---|
| ID | DiagnoseOverviewAgreedResultID | |
| Title | string | |
| MechanicNotes | string | |
| Price | float64 | |
| VAT | float64 | |
| CommunicationEventID | CommunicationEventID | |
| AppointmentID | AppointmentID |
DiagnoseOverviewAttachment Model

| Field | Type | Description |
|---|---|---|
| ID | DiagnoseOverviewAttachmentID | |
| URL | string | |
| Name | string | |
| CustomerCommunicationID | CustomerCommunicationID | |
| DiagnoseOverviewRemarkID | DiagnoseOverviewRemarkID |
DiagnoseOverviewContactResult Model

| Field | Type | Description |
|---|---|---|
| ID | DiagnoseOverviewContactResultID | |
| Title | string | |
| MechanicNotes | string | |
| Price | float64 | |
| VAT | float64 | |
| CommunicationEventID | CommunicationEventID | |
| AppointmentID | AppointmentID |
DiagnoseOverviewDeclinedResult Model

| Field | Type | Description |
|---|---|---|
| ID | DiagnoseOverviewDeclinedResultID | |
| Title | string | |
| MechanicNotes | string | |
| Price | float64 | |
| VAT | float64 | |
| CommunicationEventID | CommunicationEventID | |
| AppointmentID | AppointmentID |
DiagnoseOverviewRemark Model

| Field | Type | Description |
|---|---|---|
| ID | DiagnoseOverviewRemarkID | |
| CustomerCommunicationID | CustomerCommunicationID | Customer communication ID |
| Title | string | Title given by the Customer |
| Description | string | Description given by the Customer |
| CustomerName | string | Name of the Customer |
| ReceptionistHandled | bool | A Receptionist has handled this remark |
| VisibleToMechanic | bool | Is visible to mechanic |
| Attachments | DiagnoseOverviewAttachment | Attachments |
| AppointmentID | AppointmentID | Appointment Identifier |
Domain Model

| Field | Type | Description |
|---|---|---|
| Name | string | Name of the domain |
| DealerID | DealerID | Dealer Identifier to which this domain belongs |
| SpamAction | mailgun.SpamAction | Mailgun reported SpamAction |
| Wildcard | bool | Wildcard is enabled |
| State | string | Current state of the domain |
| SendingRecords | mailgun.DNSRecord | Sending DNS Records |
FormFile Model

| Field | Type | Description |
|---|
Intervention Model

| Field | Type | Description |
|---|---|---|
| ID | InterventionID | |
| DMSNr | string | Intervention ID in the DMS |
| Title | string | Intervention title |
| Description | string | Description of what the intervention is for |
| InternalNote | string | An internal note never shown to the customer |
| Price | float64 | Relative cost of intervention that should be covered by the Customer |
| VAT | float64 | VAT |
| DMSPriceEdited | bool | |
| DMSDeleted | bool | Intervention was deleted in the DMS but we cannot delete it due to relations |
| MechanicNotes | string | Mechanic's notes |
| Pinned | bool | Whether the intervention is pinned in Claire |
| Snoozed | bool | Whether the intervention is snoozed in Claire |
| IsDeclinedByCustomer | bool | Whether the customer declined the intervention in Claire |
| IsSignedByCustomer | bool | The customer has explicitly seen and signed for this intervention. Whether it's agreed or declined to be fixed, is not handled by this field |
| LastMechanicName | string | The last mechanic to update the intervention |
| Status | int | Intervention status |
| SolutionValue | string | |
| SolutionUnit | string | |
| SolutionType | string | |
| MechanicFixed | bool | Was the intervention fixed by a Mechanic |
| CustomerOK | bool | Customer has agreed to the intervention |
| IsLocal | bool | Intervention was created manually in Claire |
| IsMaintenance | bool | Intervention is of the type maintenance |
| IsInternalInDMS | bool | Intervention is internal in the dms |
| IsWarrantyInDMS | bool | Intervention is warranty in the dms |
| VisibleToCustomer | bool | Intervention is visible to the Customer |
| AppointmentID | AppointmentID | |
| QuestionResultID | QuestionResultID | Question result identifier if converted from Question Result |
| IsKeyloop | bool | |
| CheckInRemarkID | CheckInRemarkID | |
| DiagnoseOverviewRemarkID | DiagnoseOverviewRemarkID | |
| KeyLockerRemarkID | KeyLockerRemarkID | |
| KioskRemarkID | KioskRemarkID | |
| SnoozeID | SnoozeID | |
| CheckInResultID | CheckInResultID | |
| DealerLocationID | DealerLocationID | |
| CommunicationResultStatus | CommunicationResultStatus | |
| CheckInAttachments | CheckInAttachment | |
| DiagnoseOverviewAttachments | DiagnoseOverviewAttachment | |
| PinHistory | Pin | |
| SnoozeHistory | Snooze | |
| CheckInResult | CheckInResult | |
| CheckInRemark | CheckInRemark | |
| DiagnoseOverviewRemark | DiagnoseOverviewRemark | |
| KeyLockerRemark | KeyLockerRemark | Customer remark during keylocker check-in that has been converted to this intervention. |
| KioskRemark | KioskRemark | Customer remark during kiosk check-in that has been converted to this intervention. |
| Snooze | Snooze | |
| CarID | CarID | |
| Elements | InterventionElement | Elements of the Intervention |
| PinTypeID | PinTypeID | Type of the pin |
| QuestionResultStatus | QuestionResultStatus | Status of the question result if converted from Question Result |
| Attachments | InterventionAttachment | Attachments of the Intervention |
| LaborMinutes | int | Sum of minutes for labor elements |
| ReferenceNr | string | The client can provide a reference nr in order to map to the ID. Used when frontend are creating an appointment and can have multiple interventions. |
| PendingChecklists | InterventionPendingChecklist | Checklists that were selected to be completed for this intervention |
| InterventionCode | string | The intervention code, usually defined as the menu code |
| DMSWONumber | string | The WONr of the appointment, so this intervention can be paired to its appointment |
InterventionAttachment Model

| Field | Type | Description |
|---|---|---|
| ID | InterventionAttachmentID | |
| URL | string | URL of the attachment |
| Type | string | Type of the attachment |
| Name | string | Name of the attachment |
| VisibleInPDF | bool | PDF is visible in customer communication |
| InterventionID | InterventionID | ID of the intervention |
| UserID | UserID | User ID of the user who added this attachment |
| IsFinalCheck | bool | Attachment was added during the final check |
| AppointmentID | AppointmentID | Appointment Identifier |
| User | User | User who added the attachment |
InterventionElement Model

| Field | Type | Description |
|---|---|---|
| ID | InterventionElementID | Claire InterventionElement Identifier |
| DMSNr | string | DMS Identifier |
| Description | string | Description of the Element |
| Price | float64 | Price of the Element |
| VAT | float64 | VAT |
| Quantity | float64 | Quantity of the Element |
| LaborMinutes | int | Set minutes for labor |
| IsLocal | bool | The element was created in Claire |
| ElementType | InterventionElementType | Type of the Element |
| ParentDMSNr | string | DMS Identifier of the parent of the Element |
| BrandCode | string | The brand that this element is part of |
| ReferenceCode | string | The code that this element is referred to in the DMS, helpful for finding parts. |
| InterventionID | InterventionID | Identifier of the intervention that this element compose |
| AppointmentID | AppointmentID | Appointment Identifier to the appointment this element was created for |
| InterventionDMSNr | string | DMSNr of the intervention, so this element can be paired to its intervention |
| InterventionCode | string | The intervention code, usually defined as the menu code |
| InterventionPrice | float64 | The amount of money to add to the intervention price |
| ParentCode | string | This helps identify which package based on it's code, is this elements parent |
| DMSWONumber | string | The WONr of the appointment, so this element can be paired to its appointment |
InterventionPendingChecklist Model

| Field | Type | Description |
|---|---|---|
| InterventionID | InterventionID | Intervention Identifier |
| ChecklistID | ChecklistID | Checklist Identifier |
| Ordering | int | When there are multiple checklists assigned to 1 intervention, this specifies the sequential ordering to display them in. |
| AppointmentID | AppointmentID | Appointment Identifier |
| ChecklistName | string | The name of the checklist that is pending |
KeyLockerAgreedIntervention Model

| Field | Type | Description |
|---|---|---|
| ID | KeyLockerAgreedInterventionID | |
| Title | string | Title of the agreed intervention |
| Description | string | Description of the agreed intervention |
| Price | float64 | Price of the agreed intervention |
| VAT | float64 | VAT of the agreed intervention |
| KeyLockerCommunicationID | KeyLockerCommunicationID | KeyLocker Communication ID |
KeyLockerCommunication Model

| Field | Type | Description |
|---|---|---|
| ID | KeyLockerCommunicationID | |
| Status | KeyLockerCommunicationStatus | Current status of the keylocker communication |
| PIN | KeyLockerPIN | PIN of a KeyLocker the Customer can access |
| PINExpireOn | time.Time | PIN Expiration date |
| CustomerID | CustomerID | Customer who this KeyLockerCommunication is for |
| AppointmentID | AppointmentID | Appointment from which this KeyLockerCommunication originated from |
| CarID | CarID | Car from which the Appointment is for |
| DealerLocationID | DealerLocationID | DealerLocation from which the Appointment is from |
| Customer | Customer | |
| Appointment | Appointment | |
| Car | Car | |
| Events | KeyLockerCommunicationEvent | |
| Agreements | CommunicationAgreement | CommunicationAgreements that have been agreed |
| AgreedInterventions | KeyLockerAgreedIntervention | Slice of agreed interventions |
| Remark | KeyLockerRemark | Customer provided a remark on the communication |
KeyLockerCommunicationEvent Model

| Field | Type | Description |
|---|---|---|
| ID | KeyLockerCommunicationEventID | |
| Type | KeyLockerCommunicationEventType | Type of the KeyLockerCommunicationEvent |
| CorrectPhone | string | Correct phone number of the customer |
| CustomerName | string | Name of the customer |
| PinRequestType | KeylockerPinRequestType | Type of customer identifier used for requesting PIN |
| UserID | UserID | Identifier of the user |
| KeyLockerName | string | Name of the Keylocker that triggered this event |
| KeyLockerBoxNumber | int | KeyLocker Box Number used to trigger this event |
| KeyLockerCommunicationID | KeyLockerCommunicationID | Identifier of the KeyLocker Communication |
| Receivers | KeyLockerCommunicationReceiver | |
| KeyLockerAgreedInterventions | KeyLockerAgreedIntervention | |
| User | User |
KeyLockerCommunicationReceiver Model

| Field | Type | Description |
|---|---|---|
| ID | KeyLockerCommunicationReceiverID | |
| CommunicationChannelID | CommunicationChannelID | Type of communication channel used |
| Destination | string | Recipient identifier for the channel used |
| Status | CommunicationReceiverStatus | Status of the communication receiver |
| Reason | string | Reason in case of any failure |
| SMSGatewayID | SMSGatewayID | Type of gateway used in case of SMS |
| TwilioMessageSID | TwilioMessageSID | Identifier of the SMS in Twilio |
| MailgunMessageID | string | Mailgun message identifier for identifying the email |
| ChatshipperConversationID | ChatshipperConversationID | Identifier of the SMS in the Chatshipper |
| KeyLockerCommunicationEventID | KeyLockerCommunicationEventID | KeyLocker Communication ID |
KeyLockerRemark Model

| Field | Type | Description |
|---|---|---|
| ID | KeyLockerRemarkID | |
| Description | string | Reason for the remark |
| CustomerName | string | Customer name |
| ReceptionistHandled | bool | Receptionist has handled the remark |
| VisibleToMechanic | bool | The mechanic can see this remark and can work on it |
| KeyLockerCommunicationID | KeyLockerCommunicationID | The KeyLockerCommunication that the remark originates rom |
| AppointmentID | AppointmentID | Appointment Identifier |
KioskAgreedIntervention Model

| Field | Type | Description |
|---|---|---|
| ID | KioskAgreedInterventionID | |
| Title | string | Title of the agreed intervention |
| Description | string | Description of the agreed intervention |
| Price | float64 | Price of the agreed intervention |
| VAT | float64 | VAT of the agreed intervention |
| KioskCommunicationID | KioskCommunicationID | Kiosk Communication ID |
KioskCommunication Model

| Field | Type | Description |
|---|---|---|
| ID | KioskCommunicationID | |
| Status | KioskCommunicationStatus | Current status of the kiosk communication |
| CustomerID | CustomerID | Customer who this kioskCommunication is for |
| AppointmentID | AppointmentID | Appointment from which this kioskCommunication originated from |
| CarID | CarID | Car from which the Appointment is for |
| DealerLocationID | DealerLocationID | DealerLocation from which the Appointment is from |
| Customer | Customer | |
| Appointment | Appointment | |
| Car | Car | |
| Events | KioskCommunicationEvent | |
| Agreements | CommunicationAgreement | CommunicationAgreements that have been agreed |
| AgreedInterventions | KioskAgreedIntervention | Slice of agreed interventions |
| Remark | KioskRemark | Customer provided a remark on the communication |
| KioskLabels | KioskLabel | Embedded Kiosk Labels when the Customer is sent the Communication |
| NoteSuggestions | NoteSuggestion | Embedded Note Suggestions so that customer can choose from it for the parking note during kiosk checkin |
| ParkingNote | string | Embedded Parking Note when the Customer is sent the Communication |
KioskCommunicationEvent Model

| Field | Type | Description |
|---|---|---|
| ID | KioskCommunicationEventID | |
| Type | KioskCommunicationEventType | Type of the kioskCommunicationEvent |
| CorrectPhone | string | Correct phone number of the customer |
| CustomerName | string | Name of the customer |
| CustomerSignature | string | Signature of the customer |
| KioskName | string | Name of the Kiosk that was used for this event |
| KioskLabelNumber | KioskLabelNumber | Label of the Kiosk that was used for this event |
| UserID | UserID | User Identifier that triggered this event |
| KioskCommunicationID | KioskCommunicationID | Identifier of the kiosk Communication |
| KioskAgreedInterventions | KioskAgreedIntervention | |
| User | User |
KioskLabel Model

| Field | Type | Description |
|---|---|---|
| ID | KioskLabelID | |
| Number | KioskLabelNumber | Number assigned to this Label |
| AppointmentID | AppointmentID | Appointment Identifier currently attached to the Label |
| KioskCommunicationID | KioskCommunicationID | Kiosk Communication Identifier currently attached to the Label |
| KioskID | KioskID | Kiosk Identifier to which the Label belongs |
| Appointment | Appointment | Optionally embedded Appointment to which the label is attached |
KioskRemark Model

| Field | Type | Description |
|---|---|---|
| ID | KioskRemarkID | |
| Description | string | Reason for the remark |
| ReceptionistHandled | bool | Receptionist has handled the remark |
| VisibleInDashboard | bool | The receptionist can see this remark and handle it |
| VisibleToMechanic | bool | The mechanic can see this remark and can work on it |
| KioskCommunicationID | KioskCommunicationID | The KioskCommunication that the remark originates rom |
| AppointmentID | AppointmentID | Appointment Identifier |
MCCDealerLocationCode Model

| Field | Type | Description |
|---|---|---|
| DealerLocationID | DealerLocationID | |
| VINPrefix | string | |
| Brand | string | |
| DealerCode | string |
NoteSuggestion Model

| Field | Type | Description |
|---|---|---|
| DealerLocationID | DealerLocationID | Identifier of the dealer location |
| NoteType | NoteTypeID | ID of the appointment note type to which this suggestion belong |
| Order | int | Order of the suggestion in the suggestion list |
| Content | string | Appointment note comment suggestion |
| Active | bool | Is the note suggestion active for the dealer location |
NoteType Model

| Field | Type | Description |
|---|---|---|
| NoteTypeID | NoteTypeID | Identifier of the note type |
| DealerLocationID | DealerLocationID | Dealer location identifier |
| Active | bool | Is the note type active |
PausedCheck Model

| Field | Type | Description |
|---|---|---|
| ID | PausedCheckID | Claire paused check ID |
| AppointmentID | AppointmentID | Claire appointment ID |
| ChecklistID | ChecklistID | Claire checklist ID |
| UserID | UserID | ID of the user who paused the check |
| URL | string | URL of the serialized java check |
Pin Model

| Field | Type | Description |
|---|---|---|
| ID | PinID | |
| QuestionResultID | QuestionResultID | QuestionResult Identifier if this pin is linked to one |
| InterventionID | InterventionID | Intervention Identifier if this pin is linked to one |
| PinTypeID | PinTypeID | Type of the pin |
| WarrantyTypeID | WarrantyTypeID | Warranty classification for the pin |
| PinStatusID | PinStatusID | Current status of the pin |
| ClaimNr | string | Warranty or insurance claim number |
| RefNr | string | Reference number (internal or external) |
| SupportNr | string | Support ticket or case number |
| OrderStatus | PinOrderStatusID | Order processing status of the pin |
| Note | string | Free-form notes or comments |
| VisibleImportantItems | bool | Whether important items are visible to user |
| KeepParts | bool | Whether to retain parts after service |
| Info | bool | Information-only flag (non-actionable) |
| MechanicFixed | bool | Indicates if mechanic has resolved the issue |
| IsDMS | bool | Flag for pins originating from DMS (Dealer Management System) |
| UserID | UserID | ID of the user who created or owns the pin |
| AppointmentID | AppointmentID | Linked appointment for the pin |
| DealerLocationID | DealerLocationID | Dealer Location associated with the pin |
| CarID | CarID | Vehicle related to the pin |
| ManufacturerID | UserID | Manufacturer user associated with the pin |
| RecallsID | RecallID | Associated recall identifier, if this pin is linked to one |
| PonRecallID | string | Associated PON recall identifier, if this pin is linked to one |
| RDWRecallID | string | Associated RDW recall identifier, if this pin is linked to one |
| User | User | |
| Appointment | Appointment | |
| Intervention | Intervention | |
| QuestionResult | QuestionResult | |
| Manufacturer | User | |
| RegNumber | string | |
| DealerID | DealerID | |
| NoteAttachments | string | |
| DealerName | string | |
| LocationName | string | |
| StatusChanged | bool |
Question Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionID | Claire Question ID |
| Title | string | Title of the question |
| Active | bool | |
| Order | int | |
| RoleID | RoleID | NULL if it is a default question available to all, otherwise the role ID of the user who created this question (meaning it is only visible to that Dealer's locations) |
| DefaultStatus | int | |
| CanDuplicate | bool | |
| EVHCLaborPercent | int | Labor percentage to the total cost, sum <=100 |
| EVHCPartPercent | int | Part percentage to the total cost, sum <=100 |
| EVHCTirePercent | int | Tire percentage to the total cost, sum <=100 |
| EVHCExternalPercent | int | External percentage to the total cost, sum <=100 |
| IsDeleted | bool | |
| DealerID | DealerID | |
| DealerLocationID | DealerLocationID | |
| QuestionElements | QuestionElement | List of question element in this question |
| Checklists | Checklist | |
| TagIDs | TagID | |
| Tags | Tag | |
| ContainsTyreElement | bool | |
| QuestionOptions | QuestionOption | |
| DefaultImages | QuestionResultImage | |
| DefaultVideos | QuestionResultVideo |
QuestionElement Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionElementID | Claire Question Element ID |
| Name | string | Name of the question element |
| Order | int | |
| Template | QuestionElementTemplate | Template of the question element, define what type of answer will be provided, refer to that enumeration for more details |
| DefaultConfiguration | string | Default configuration, depending on the template can contain prefilled values or labels |
| RoleID | RoleID | NULL if it is a default question element available to all, otherwise the role ID of the user who created this question element (meaning it is only visible to that Dealer's locations) |
| DefaultAnswer | AnswerItem |
QuestionGroup Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionGroupID | Claire Question Group ID |
| Name | string | Name of the group of question |
| Order | int | Order of the group of question |
| Questions | Question | List of questions in this group |
QuestionOption Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionOptionID | |
| Name | string | |
| Value | bool |
QuestionResult Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionResultID | Claire Question Result ID |
| GroupName | string | |
| GroupOrder | int | |
| QuestionOrder | int | |
| Status | QuestionResultStatus | Item's status, refer to that enumeration for more details |
| Title | string | Question's title |
| Completed | bool | Question's completion |
| MechanicNotes | string | Mechanic note |
| MechanicFixed | bool | The mechanic fixed this item |
| CustomerApproved | bool | The customer approved to fix this item |
| IsSignedByCustomer | bool | The customer has explicitly seen and signed for this intervention. Whether it's agreed or declined to be fixed, is not handled by this field |
| Price | float64 | Cost for this item |
| Raw | string | A compiled field of all the questions answers and is shown as the item remark. This remark can be edited by the receptionist. |
| TyrePosition | TyrePosition | 0 if TyreID is null |
| TyreProfile | float64 | 0 if TyreID is null |
| TruckAxle | int | Non-zero value for Truck Question Result Element |
| Solution | string | Answer if the question template is of type solution |
| SolutionValue | string | Value selected if the question template if of type solution |
| SolutionType | string | Type selected if the question template if of type solution |
| SolutionUnit | string | Unit selected if the question template if of type solution |
| Snoozed | bool | Wheter the item is snoozed |
| Pinned | bool | Wheter the item is pinned |
| IsHiddenInHistory | bool | is the question result hidden from the history of advised and critical items not fixed |
| QuestionID | QuestionID | |
| TyreID | TyreID | null if not a tyre question |
| AppointmentID | AppointmentID | |
| CarID | CarID | |
| CheckID | CheckID | |
| DealerLocationID | DealerLocationID | |
| ChecklistID | ChecklistID | |
| ChecklistName | string | |
| TimeCarApp | time.Time | Appointment date in Claire |
| WONr | string | Appointment work order number |
| RegNumber | string | License plate number |
| Note | string | |
| ACL | RoleID | |
| Tyre | Tyre | joined if TyreID is not null |
| TyreReplacements | TyreReplacement | joined if any |
| CustomerOwnerID | CustomerID | |
| CustomerDriverID | CustomerID | |
| CustomerContractID | CustomerID | |
| Owner | Customer | |
| Driver | Customer | |
| Contractor | Customer | |
| Car | Car | |
| ChecklistTags | Tag | |
| QuestionTags | Tag | Array of Tag objects associated to this question, refer to that model for more details |
| Images | QuestionResultImage | |
| Videos | QuestionResultVideo | |
| AnswerItems | AnswerItem | |
| PinHistory | Pin | |
| SnoozeHistory | Snooze | Each row represent a log line, showing what changed over time |
| Appointment | Appointment | Appointment |
| QuestionOptions | QuestionOption | |
| Question | Question | |
| CommunicationResultStatus | CommunicationResultStatus | |
| PinTypeID | PinTypeID | Type of the pin |
QuestionResultImage Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionResultImageID | |
| URL | string | |
| Active | bool | |
| VisibleInPDF | bool | |
| IsFinalCheck | bool | |
| InterventionIndex | int | |
| QuestionResultID | QuestionResultID |
QuestionResultVideo Model

| Field | Type | Description |
|---|---|---|
| ID | QuestionResultVideoID | |
| URL | string | |
| Active | bool | |
| Visible | bool | |
| IsFinalCheck | bool | |
| InterventionIndex | int | |
| QuestionResultID | QuestionResultID |
Role Model

| Field | Type | Description |
|---|---|---|
| ID | RoleID | |
| Name | string | |
| ACL | ACL |
Snooze Model

| Field | Type | Description |
|---|---|---|
| ID | SnoozeID | Snooze ID in Claire, each snooze ID represent a snooze log line |
| QuestionResultID | QuestionResultID | ID of the question result snoozes, null if an intervention is snoozed |
| InterventionID | InterventionID | Intervention ID of the intervention snoozed, null if a question result is snoozed |
| SnoozeTypeID | SnoozeTypeID | Type of snooze, see enumeration |
| SnoozeStatusID | SnoozeStatusID | Status of the snooze, see enumeration |
| SnoozeDate | time.Time | Date selected when snoozed |
| SnoozeDepartmentID | SnoozeDepartmentID | Department assigned, see enumeration |
| Note | string | Note entered when snoozed |
| UserID | UserID | ID of the user adding the snooze log line |
| AppointmentID | AppointmentID | Appointment ID for this snooze |
| DealerLocationID | DealerLocationID | Dealer Location ID for this snooze |
| CarID | CarID | Car ID for this snooze |
| User | User | |
| Appointment | Appointment | |
| Intervention | Intervention | |
| QuestionResult | QuestionResult | |
| Car | Car | |
| CheckID | CheckID | |
| Attachments | string | |
| QuestionResultStatus | QuestionResultStatus |
Tag Model

| Field | Type | Description |
|---|---|---|
| ID | TagID | Claire Tag ID |
| Name | string | Name of the tag |
| Color | string | Color of the tag |
| System | bool | Wheter it is a system tag |
Timeslot Model

| Field | Type | Description |
|---|---|---|
| ID | TimeslotID | |
| Deadline | time.Time | |
| Active | bool | |
| DealerLocationID | DealerLocationID |
TruckTyres Model

| Field | Type | Description |
|---|---|---|
| CarID | CarID | |
| Axle | int | |
| Position | TyrePosition | |
| TyreID | TyreID | |
| Profile | float64 | |
| Picture | string | |
| Tyre | Tyre |
Tyre Model

| Field | Type | Description |
|---|---|---|
| ID | TyreID | Claire Tyre ID |
| Manufacturer | string | Tyre manufacturer |
| Description | string | Tyre description |
| Width | int | Tyre width |
| Height | int | Tyre height |
| Size | float32 | Tyre size |
| Speed | string | Tyre speed factor |
| EAN | string | Tyre unique ID (EAN) |
| RunFlatTire | bool | |
| CarryCapacity | int | |
| Season | Season | Tyre season, refer to that enumeration for more details |
| Deleted | bool | Whether the tyre is deleted |
| CreatedByID | UserID | For manually created tyres, User ID of the creator, nil otherwise |
| CreatedBy | User | created by user |
| ThreePeakMountainSnowFlake | bool | whether the tire has been tested and certified to provide reliable traction on snow, ice, and in other cold-weather conditions. Provided by third parties only. Usually denoted by 3PMSF. |
| Stock | string | Stock provided by third parties only. Not a number because TyreTeam cap values as '> 20' |
| NetPrice | float64 | Net price. Provided by third parties only. |
| GrossPrice | float64 | Gross price. Provided by third parties only. |
| Currency | string | Currency. Provided by some third parties only. |
| TyreTeamSystemNumber | TyreTeamSystemNumber | TyreTeam identifier |
| TyreTeamDeliveryMethod | string | TyreTeam delivery method. |
| TyreTeamChannel | TyreTeamChannelID | TyreTeam channel to order the tyre |
| TyreNetStock2 | int | TyreNet stock available at supplier for delivery between 8-12h |
| TyreNetStock3 | int | TyreNet stock available at supplier for delivery between 24-48h |
| PonWheelTyreDeliveryMethod | string | Pon Wheel delivery method |
TyreReplacement Model

| Field | Type | Description |
|---|---|---|
| ID | TyreReplacementID | Claire Tyre Replacement ID |
| QuestionResultID | QuestionResultID | Claire Question Result ID |
| TyreID | TyreID | Claire Tyre ID |
| Price | float64 | Price of this replacement tyre |
| CustomerAnswer | bool | Whether the mechanic can mount this replacement on the car or not |
| Remark | string | Remarks from the receptionist or mechanic |
| MechanicFixed | bool | Whether the mechanic has mounted this replacement on the car or not |
| Selected | bool | Whether this replacement was selected by the customer to be mounted on the car or not |
| Profile | float64 | Tyre tread profile entered by the mechanic after it was mounted on the car |
| TyreTeamSystemNumber | TyreTeamSystemNumber | Reference to the TyreTeam Tyre ID |
| TyreTeamDeliveryMethod | string | Delivery method of TyreTeam chosen, if there was one |
| TyreTeamChannel | TyreTeamChannelID | Which Channel TyreTeam was queried through |
| TyreTeamOrderPlaced | bool | This replacement was ordered by the receptionist through TyreTeam |
| TyreNetDeliveryMethod | int | Delivery method of TyreNet chosen, if there was one |
| TyreNetOrderPlaced | bool | This replacement was ordered by the receptionist through TyreNet |
| PonWheelTyreSystemNumber | string | Reference to the Pon Wheel Tyre ID |
| PonWheelTyreDeliveryMethod | string | Delivery method of Pon Wheel chosen, if there was one |
| PriceReduction | float64 | Reduction in the price |
| Discount | float64 | Discount in the price |
| Tyre | Tyre | Tyre details for this replacement |
| AppointmentID | AppointmentID | Used to match the WS message to the appointment |
User Model

| Field | Type | Description |
|---|---|---|
| ID | UserID | Claire User ID |
| DMSNr | string | DMS Number of the Claire User |
| FirstName | string | First name |
| LastName | string | Last name |
| string | Email in Claire | |
| Username | string | Username in Claire |
| Mobile | string | Mobile phone numer |
| Phone | string | Phone numer |
| Birthday | time.Time | Birthdate |
| LastActive | time.Time | Last activity date in Claire |
| Address1 | string | Address line 1 |
| Address2 | string | Address line 2 |
| ChannelToken | string | Channel token |
| ClientID | string | Client ID |
| LastPasswordChange | time.Time | Last password change date in Claire |
| GoogleID | string | Google ID |
| Status | UserStatusID | User status |
| WebVersion | string | Web version the user is using |
| AppVersion | string | App version the user is using |
| CameraVersion | string | Camera app version the user is using |
| LocationColumnVisible | bool | Is Location Visible |
| MultiDeviceLoginEnabled | bool | Is user allowed to login from multiple devices simultaneously |
| IsCombiUser | bool | Indicates if a user can use both web and tablet |
| HasLeasedTablet | bool | Indicates if the user has a tablet that is used |
| ListAppointmentsByScheduledRange | bool | Indicates if a user can list appointments by scheduled range |
| CsvDownload | bool | Indicates if a user can download CSV files |
| ProfilePicture | string | Profile picture URL |
| LanguageCode | LanguageCode | Default language for the user |
| DealerID | DealerID | Default Dealer ID when loggin in |
| DealerLocationID | DealerLocationID | Default Location ID when loggin in |
| RoleID | RoleID | Default Role ID when loggin in |
| ZohoID | string | Zoho ID |
| LandingPageID | LandingPageID | Default Landing Page ID when loggin in |
| IsCounterTabletUser | bool | Indicates if a user is a counter tablet user |
| IsKeyLockerAllowed | bool | Indicates if a user is allowed to use key locker |
| IsAvailable | bool | |
| PinStatusNotificationEnabled | bool | Indicates if a user is allowed to receive pin status notifications |
| TyreOrderingEnabled | bool | Indicates if a user is allowed to order tyres |
| ShopStatusSameDayFilterEnabled | bool | Indicates if same day shop status filter is enabled |
| ShopStatusNextDayFilterEnabled | bool | Indicates if next day shop status filter is enabled |
| ShopStatusToOrderFilterEnabled | bool | Indicates if to order shop status filter is enabled |
| ShopStatusBackorderFilterEnabled | bool | Indicates if backorder shop status filter is enabled |
| ShopStatusArrivedPartsFilterEnabled | bool | Indicates if arrived parts shop status filter is enabled |
| WorkingOn | AppointmentID | ID of the appointment the user is currently working on |
| DayPlannerAppointmentsCollapsedByDefault | bool | Indicates if appointments are collapsed by default on the dayplanner. |
| DayPlannerCarsReadyCollapsedByDefault | bool | Indicates if cars ready are collapsed by default on the dayplanner. |
| DayPlannerQualityControlCollapsedByDefault | bool | Indicates if quality control is collapsed by default on the dayplanner. |
| MyLocations | DealerLocationID | Locations the user has access to |
| Dealers | Dealer | Dealers the user has access to |
| DealersIDs | DealerID | Dealer IDs the user has access to |
| LocationIDs | DealerLocationID | Location IDs the user has access to |
| DealerLocation | DealerLocation | Dealer location the user has access to |
| DeviceID | DeviceID | Device ID of the user |
| CounterTabletKey | string | come from the auth user, not saved in the DB to last only as long as the session |
| RoleName | string | Role name of the user |
| DPO | bool | Indicates if the user is a DPO user |
| ACL | ACL | ACLs of the user |
| Brands | Brand | List of brands |
| OneiPlanningMonteurID | OneiPlanningMonteurID | |
| PlanItPlanningMechanicID | PlanItPlanningMechanicID | PlanIt Planning Mechanic ID of the user |
| NotificationElementIDs | NotificationElementID | Notification element IDs of the user |
| DealerName | string | Name of the dealer |
| LocationName | string | Name of the location |
| AppointmentID | AppointmentID | AppointmentID, used internally |
| AppointmentStatusIdentifiers | StatusIdentifier | StatusIdentifiers filters of the user |
| DayplannerAppointmentStatusIdentifiers | StatusIdentifier | StatusIdentifiers filters of the user on the Dayplanner |
| DayplannerBrandIDs | BrandID | List of brandIDs of the user on the Dayplanner |
| HasLeasedDevice | bool | Indicates if the user has a leased device |
Changelog
This section contains changes related to the CustomCom service. Changes will be included if:
- A new endpoint is added
- A new field is added to an existing endpoint
- Field description changes
- A field is deprecated
Communication - 25-10-2025.
The following endpoint is included with this release:
\v1\communication\summarize
Repair Overview PDF Download - 07-8-24
/v1/repair_overview/download
Initial release - 03.11.2022.
The following endpoints are included with initial release:
/v1/communication/read/v1/communication/upload_attachment/v1/online_checkin/answer/v1/diagnose_overview/answer
Errors
The Claire Automotive Support APIs uses the following error codes:
| Error Code | Meaning |
|---|---|
| 400 | Bad Request : Your request is invalid. |
| 401 | Unauthorized : Your API key is wrong. |
| 404 | Not Found : The specified endpoint could not be found. |
| 405 | Method Not Allowed : You tried to access server with an invalid method. |
| 429 | Too Many Requests : You're making too many requests. |
| 500 | Internal Server Error : We had a problem with our server. Try again later. |
| 503 | Service Unavailable : We're temporarily offline for maintenance. Please try again later. |