NAV
shell

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:

More detail to be found in each section of this documentation.

Communication channels

We currently support two channels of communication with customers:

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:

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:

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": "",
    "user_key": null,
    "customer": null,
    "appointment": null,
    "car": null,
    "receptionist": null,
    "results": null,
    "check_in_remarks": null,
    "diagnose_overview_remarks": null,
    "check_in_results": null,
    "diagnose_overview_results": null,
    "agreements": null,
    "events": null,
    "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=

...
--XXX
Content-Disposition: form-data; name=

...--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

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": null,
    "remarks": null,
    "correct_phone": null,
    "correct_email": null,
    "agreement_ids": null,
    "customer_name": ""
}

The request JSON response is:

This endpoint do 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 true The communication results retrieved when reading the communication, with their statuses updated as answered by the customer.
remarks []model.DiagnoseOverviewRemark true 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 true 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 do 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": null,
    "remarks": null,
    "correct_phone": null,
    "correct_email": null,
    "agreement_ids": null,
    "customer_name": ""
}

The request JSON response is:

This endpoint do 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 true The interventions retrieved when reading the communication, with their statuses updated as answered by the customer.
remarks []model.DiagnoseOverviewRemark true 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 true 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 do 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": null,
    "remarks": null,
    "correct_phone": null,
    "correct_email": null,
    "agreement_ids": null,
    "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 true The communication results retrieved when reading the communication, with their accepted values updated as answered by the customer.
remarks []model.CheckInRemark true 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 true 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

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

BarCode Enumeration

Value Description
1 Barcode Type 128
2 Barcode Type 93
3 Barcode Type 39
4 Barcode Type 25
5 Barcode Type 11

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 Email
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

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

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

InterventionElementStatus Enumeration

Value Description
1 The element is active
2 The element is on hold
3 The element is deleted

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

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
en-GB English
nl-NL Dutch
fr-FR French
de-DE German
th-FR Thai-French

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

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

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

QuestionResultStatus Enumeration

Value Description
0 OK
1 OK with remarks
2 Advised
3 Necessary
4 Not worked on

RoleID Enumeration

Value Description
10 Top level user role (has all permissions)
20 Claire admin role
25 Support adminole 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
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
3 Deleted
4 Archived

WarrantyTypeID Enumeration

Value Description
0 Not Set
1 Factory
2 Leniency
3 Body Paint
4 On Repair
5 Occasion
6 Service

Models

ACL Model

Field Type Description
ID ACLID
Activity string
Resource string
Roles Role

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
RefNr string Appointment reference number in Claire
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
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
CarInShopEdited bool
CarOutOfShop time.Time
CarOutOfShopEdited bool
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
DMSBilledUpdated bool
CheckInComSent bool
CheckInComAnswered bool
CheckInComToHandle bool
LastDMSUpdate time.Time
LastDMSRefresh time.Time
Internal bool
HasPanic bool
CreatedBy string Indicates the origin of this appointment and the entity responsible for its creation
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
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
OneiPlanningMechanicID UserID onei planning mechanic id
OneiPlanningWorkStart time.Time work start time
OneiPlanningWorkStop time.Time work stop time
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
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
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
FinalCheckImages FinalCheckImage Image added during the final check
FinalCheckVideos FinalCheckVideo Video added during the final check
StatusHistory AppointmentStatusHistory History of statuses
Interventions Intervention List of initial interventions
Checks Check
Checklists Checklist
CustomerCommunication CustomerCommunication
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
OneiPlanningMechanic User
PlanningMechanic User
KeyDroppedBackBy User
KeyPickedUpBackBy User
AcsesKeyPickUpBy User
AcsesKeyDropBackBy User
AcsesKeyAssistPickUpBy User
ShareboxKeyPickedUpBy User
ShareboxKeyDroppedBackBy User
ShareboxKeyPickedUpBackBy User
Attachments AppointmentNoteAttachment
DMSCarID string used by dms v3 importer
DMSDriverID string used by dms v3 importer
DMSOwnerID string used by dms v3 importer
DMSContractorID string used by dms v3 importer
DMSRental bool used by dms v3 importer
IsCarInShop bool used by dms v3 importer

AppointmentNote Model

Field Type Description
ID AppointmentNoteID
AppointmentNoteTypeID AppointmentNoteType
AppointmentID AppointmentID
UserID UserID
UpdatedByID UserID
Note string
VisibleForMechanic bool
BackorderDate time.Time
Name string
PhoneNr string
Email string
DMSNr string
User User
UpdatedBy User
Attachments AppointmentNoteAttachment

AppointmentNoteAttachment Model

Field Type Description
ID AppointmentNoteAttachmentID
Name string
URL string
Type string
UserID UserID
AppointmentID AppointmentID
AppointmentNoteID AppointmentNoteID
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
Timestamp time.Time Date and time when the status was set
ChecklistID ChecklistID Claire's Checklist ID
CheckID CheckID Claire's Check ID'
Identifier StatusIdentifier Status identifier, refer to that enumeration for more details
LastUser string
DateTime string
ChecklistName string If the status is related to a check, the checklist name can be embeded here'
ChecklistType ChecklistType If the status is related to a check, the checklist type can be embeded here

Brand Model

Field Type Description
ID BrandID
Name string
Color string
Logo string
VINPrefix string
ButtonLabel string
ServiceBoxWO string
ServiceBoxVIN string
TabletServiceButtonURL string
DealerLocationID DealerLocationID

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
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 Warranty start date
WarrantyDateEnd time.Time Warranty end date
ROBLeaseExpiration time.Time Expiration date of ROB Lease
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.
AppointmentDates time.Time
Attachments CarAttachment
CarLeadPrediction CarLeadPrediction
DMSNotes DMSCarNote
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

CarAttachment Model

Field Type Description
ID CarAttachmentID
Type string
Name string
URL string
CarID CarID
UserID UserID
Username string

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
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
User User User who created the 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
FromLizeo bool
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

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
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
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
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
Tags Tag Tags associated with this checklist
Brands Brand Brands associated with this checklist
ParentChecklist Checklist Parent Checklist associated with this checklist
UnfinishedCheck UnfinishedCheck If not nil, contain the unfinished check for this checklist
Questions Question List of questions associated with 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
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

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
Email string Email
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
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
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
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
ExternalJS string External JS code snippet
ExternalCSS string External CSS code snippet
GoogleAnalyticsID string Google Analytics ID
DisplayInterventionElements bool Display intervention elements
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

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

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
UserKey string Deprecated
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

DMSCarNote Model

Field Type Description
ID DMSCarNoteID
DMSNr string
Note string
CarID CarID

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
DailyCheckExportEnabled bool The checks performed on a day are saved to Cloud Storage
DailyCheckExportKey string Where the checks will be stored within Cloud Storage
CustomerDataRetentionInYears int How long to wait before disposing of a customers information
KeyloopContractCode string Keyloop Dealer Identifier
ICARKey string ICar Dealer Identifier
ICAREmp string ICar EMP
ICARLastUpdate time.Time Last time for this dealer that ICar processing occurred
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
TwilioMonthlyEuroLimit float64 Twilio's monthly limit in euros'
TwilioMonthlyEuroLimitUsageTriggerSID string Twilio Account SID to trigger monthly limit overuse
TwilioDailyEuroLimitUsageTriggerSID 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
OneiPlanningUseWebhook bool Indicates if Onei planning uses webhook
OneiPlanningEnvironmentGuid string Environment GUID for Onei planning
WebClockURL string URL for web clock functionality
AdvisedCriticalHistoryEnabled bool Advised critical history is enabled
IsPonOilEnabled bool Access to PON Oil API is enabled
PonOilUsername string Username to access PON Oil API
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
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
HasPonOilPassword bool Password for Pon Oil has been set

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
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
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
DiagnoseStatusVisible bool Diagnose status is visible
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
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
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
IsTireScannerEnabled bool Tyre scanner is enabled
TireScannerPrivateKey string Tire scanner private key
IsEditingQuestionVideosEnabled bool Question video editing is enabled
AutomaticallyPinAppointments bool Automatically pinning appointments is enabled
IsManuallyPinningAppointmentsEnabled bool Manually pinning appointments is enabled
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 PlnaIt Planning Establishment ID
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
CheckInDaysPrior int
SendParkingGateCode 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
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
DMSLocationIDs string

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
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

FinalCheckImage Model

Field Type Description
ID FinalCheckImageID
URL string URL of the image
Active bool The image is active
VisibleInPDF bool The image is displayed in the PDF
InterventionIndex int Index of the image for the intervention
AppointmentID AppointmentID

FinalCheckVideo Model

Field Type Description
ID FinalCheckVideoID
URL string URL of the Video
Active bool The video is active
InterventionIndex int Index of the video for the intervention
AppointmentID AppointmentID

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 Intervention description
Price float64 Relative cost of intervention that should be covered by the Customer
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
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
CheckInResultID CheckInResultID
DealerLocationID DealerLocationID
CommunicationResultStatus CommunicationResultStatus
CheckInAttachments CheckInAttachment
DiagnoseOverviewAttachments DiagnoseOverviewAttachment
PinHistory Pin
SnoozeHistory Snooze
CheckInResult CheckInResult
CheckInRemark CheckInRemark
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
DMSWONumber string used by dms v3 importer

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
InterventionID InterventionID ID of the intervention
UserID UserID User ID of the user who added this attachment
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
Quantity float64 Quantity of the Element
PrivateNote string Private note of the Element, not to be shown to customers
IsLocal bool The element was created in Claire
ElementType InterventionElementType Type of the Element
Status InterventionElementStatus Status of the Element
ParentDMSNr string DMS Identifier of the parent of the Element
InterventionID InterventionID Identifier of the intervention that this element compose
InterventionDMSNr string -
DMSWONumber string used by dms v3 importer

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
UserKey string Deprecated
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

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

Pin Model

Field Type Description
ID PinID
QuestionResultID QuestionResultID
InterventionID InterventionID
PinTypeID PinTypeID
WarrantyTypeID WarrantyTypeID
PinStatusID PinStatusID
ClaimNr string
RefNr string
SupportNr string
OrderStatus PinOrderStatusID
Note string
VisibleImportantItems bool
VisibleMechanic bool
KeepParts bool
Info bool
MechanicFixed bool
IsDMS bool
UserID UserID
AppointmentID AppointmentID
DealerLocationID DealerLocationID
CarID CarID
ManufacturerID UserID
User User
Appointment Appointment
Intervention Intervention
QuestionResult QuestionResult
Manufacturer User
RegNumber string
DealerID DealerID
NoteAttachments string
DealerName string
LocationName string

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
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
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
TyrePosition TyrePosition
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

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

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 string Reference to the TyreTeam Tyre ID
TyreTeamDelivery string Delivery method chosen, if there was one
TyreTeamChannel TyreTeamChannelID Which Channel TyreTeam was queried through
TyreTeamOrderPlaced bool Whether this replacement was ordered by the receptionist
PriceReduction float64 Reduction in the price
Discount float64 Discount in the price
Tyre Tyre Tyre details for this replacement

UnfinishedCheck Model

Field Type Description
ID UnfinishedCheckID Claire Unfinished Check ID
AppointmentID AppointmentID Claire appointment ID
ChecklistID ChecklistID Claire checklist ID
UserID UserID ID of the user who made this unfinished check
URL string URL of the serialized java check

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
Email 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
ClientID string
LastPasswordChange time.Time
GoogleID string
Status UserStatusID
WebVersion string
AppVersion string
CameraVersion string
LocationColumnVisible bool
MultiDeviceLoginEnabled bool
ListAppointmentsByScheduledRange bool
CsvDownload bool
ProfilePicture string Profile picture URL
LanguageCode LanguageCode
DealerID DealerID
DealerLocationID DealerLocationID Default Location ID when loggin in
RoleID RoleID
ZohoID string
LandingPageID LandingPageID
IsCounterTabletUser bool
IsKeyLockerAllowed bool
IsAvailable bool
PinStatusNotificationEnabled bool
TyreOrderingEnabled bool
ShopStatusSameDayFilterEnabled bool
ShopStatusNextDayFilterEnabled bool
ShopStatusToOrderFilterEnabled bool
ShopStatusBackorderFilterEnabled bool
MyLocations DealerLocationID
Dealers Dealer
DealersIDs DealerID
LocationIDs DealerLocationID
DealerLocation DealerLocation
DeviceID DeviceID
CounterTabletKey string come from the auth user, not saved in the DB to last only as long as the session
RoleName string
DPO bool
ACL ACL
Brands Brand
OneiPlanningMonteurID OneiPlanningMonteurID
PlanItPlanningMechanicID PlanItPlanningMechanicID
NotificationElementIDs NotificationElementID
DealerName string
LocationName string
AppointmentID AppointmentID

Changelog

This section contains changes related to the CustomCom service. Changes will be included if:

Repair Overview PDF Download - 07-8-24

Initial release - 03.11.2022.

The following endpoints are included with initial release:

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.