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 responsibility 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 its 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 responds 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 -X POST "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": "",
    "star_rating_experience_message": "",
    "star_rating_experience": 0,
    "star_rating_service_message": "",
    "star_rating_service": 0,
    "star_rating_speed_message": "",
    "star_rating_speed": 0,
    "star_rating_feedback": "",
    "customer_id": null,
    "appointment_id": 0,
    "car_id": 0,
    "receptionist_id": null,
    "dealer_location_id": 0,
    "note": "",
    "customer": null,
    "appointment": null,
    "car": null,
    "receptionist": null,
    "check_in_results": [],
    "check_in_remarks": [],
    "diagnose_overview_results": [],
    "diagnose_overview_remarks": [],
    "results": [],
    "agreements": [],
    "events": [],
    "is_receptionist": false,
    "settings": null,
    "frontend_update_required": false
}
{
    "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": "",
    "star_rating_experience_message": "",
    "star_rating_experience": 0,
    "star_rating_service_message": "",
    "star_rating_service": 0,
    "star_rating_speed_message": "",
    "star_rating_speed": 0,
    "star_rating_feedback": "",
    "customer_id": null,
    "appointment_id": 0,
    "car_id": 0,
    "receptionist_id": 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 -X POST "API_BASE/v1/communication/upload_attachment" -H "Content-Type: multipart/form-data"

When the customer want to upload an attachment while writing a remark, this endpoint is used to upload it. The attachment URL returned can then be used when submitting the answer in the 'remarks.attachments'. A maximum of 10 files can be attached to one communication and each file are limited to 32Mb.

HTTP MultiPart Request

POST /v1/communication/upload_attachment

The request parts are:

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

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

...--XXX--

The request JSON response is:

{
    "url": ""
}

This request must be a multipart/form-data content-type with valid boundary for each part

Request parts schema

Parameter Type Required Description
key string true The customer communication key used to read the communication.
file http.FormFile true The file to be uploaded.

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
url string

Summarize the communication

curl -X POST "API_BASE/v1/communication/summarize"

This endpoint summarizes the communication using google generative ai.

HTTP Request

POST /v1/communication/summarize

The request Body payload is:

{
    "key": "",
    "intervention_ids": [],
    "check_in_service_ids": []
}

The request JSON response is:

{
    "summary": ""
}

Request schema

Parameter Type Required Description
key string true The customer communication key used to read the communication.
intervention_ids []InterventionID false The intervention IDs to be summarized.
check_in_service_ids []CheckInServiceID false The check-in service IDs to be summarized.

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
summary string

Diagnose_overview

Answer a diagnose overview communication

curl -X POST "API_BASE/v1/diagnose_overview/answer"

When the customer read a diagnose overview communication, he is expected to answer it, using this endpoint.

HTTP Request

POST /v1/diagnose_overview/answer

The request Body payload is:

{
    "key": "",
    "results": [],
    "remarks": [],
    "correct_phone": null,
    "correct_email": null,
    "agreement_ids": [],
    "customer_name": ""
}

The request JSON response is:

This endpoint does not return anything, only the HTTP status code matters.

Request schema

Parameter Type Required Description
key string true The customer communication key used to read the communication.
results []CommunicationResult false The communication results retrieved when reading the communication, with their statuses updated as answered by the customer.
remarks []DiagnoseOverviewRemark false The remarks of the customer, along with optional attachments urls (uploaded with the communication/upload_attachment endpoint). Each remark must contain at least a title or a description. Optional.
correct_phone string false To be submitted if the customer has entered a different phone number than what we have in the customer object. Will be displayed to the receptionist in the appointment 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 appointment detail page.
agreement_ids []CustomerCommunicationAgreementID false The diagnose agreements IDs that were agreed by the customer. Not to be confused with the agreement IDs.
customer_name string true The name entered by the customer before submitting his answer.

Response schema

This endpoint does not return anything, only the HTTP status code matters.

Diagnose_overview_v2

Answer a diagnose overview communication

curl -X POST "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": [],
    "replacements": [],
    "remarks": [],
    "correct_phone": null,
    "correct_email": null,
    "agreement_ids": [],
    "customer_name": ""
}

The request JSON response is:

This endpoint does not return anything, only the HTTP status code matters.

Request schema

Parameter Type Required Description
key string true The customer communication key used to read the communication.
interventions []Intervention false The interventions retrieved when reading the communication, with their statuses updated as answered by the customer.
replacements []VehicleTyreReplacement false The replacements retrieved when reading the communication, with their statuses updated as answered by the customer.
remarks []DiagnoseOverviewRemark false The remarks of the customer, along with optional attachments urls (uploaded with the communication/upload_attachment endpoint). Each remark must contain at least a title or a description. Optional.
correct_phone string false To be submitted if the customer has entered a different phone number than what we have in the customer object. Will be displayed to the receptionist in the appointment 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 appointment detail page.
agreement_ids []CustomerCommunicationAgreementID false The diagnose agreements IDs that were agreed by the customer. Not to be confused with the agreement IDs.
customer_name string true The name entered by the customer before submitting his answer.

Response schema

This endpoint does not return anything, only the HTTP status code matters.

Online_checkin

Customer answers a sent CustomCommunication

curl -X POST "API_BASE/v1/online_checkin/answer"

When the customer read an online check-in communication, he is expected to answer it, using this endpoint.

HTTP Request

POST /v1/online_checkin/answer

The request Body payload is:

{
    "key": "",
    "results": [],
    "remarks": [],
    "correct_phone": null,
    "correct_email": null,
    "agreement_ids": [],
    "customer_name": "",
    "preferred_communication_channel": null,
    "drop_in_acses_locker": false
}

The request JSON response is:

This endpoint does not return anything, only the HTTP status code matters.

Request schema

Parameter Type Required Description
key string true The customer communication key used to read the communication.
results []CheckInResult false The communication results retrieved when reading the communication, with their accepted values updated as answered by the customer.
remarks []CheckInRemark false The remarks of the customer, along with optional attachments urls (uploaded with the communication/upload_attachment endpoint). Each remark must contain at least a title or a description. Optional.
correct_phone string false To be submitted if the customer has entered a different phone number than what we have in the customer object. Will be displayed to the receptionist in the appointment 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 appointment detail page.
agreement_ids []CommunicationAgreementID false The agreements IDs that were agreed by the customer.
customer_name string true The name entered by the customer before submitting his answer
preferred_communication_channel 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 does not return anything, only the HTTP status code matters.

ACSES KeyLockers that are available to the Customer

curl -X POST "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 -X POST "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

Set the rating

curl -X POST "API_BASE/v1/repair_overview/set_star_rating"

This endpoint set the rating provided by customer for overall experience, speed and services.

HTTP Request

POST /v1/repair_overview/set_star_rating

The request Body payload is:

{
    "communication_key": "",
    "star_rating_experience": 0,
    "star_rating_speed": 0,
    "star_rating_service": 0,
    "star_rating_feedback": ""
}

The request JSON response is:

This endpoint does not return anything, only the HTTP status code matters.

Request schema

Parameter Type Required Description
communication_key string true Customer Communication Key
star_rating_experience int true Rating of the experience
star_rating_speed int true Rating of the process speed
star_rating_service int true Rating of the service
star_rating_feedback string true Feedback of the service, provided along with the ratings

Response schema

This endpoint does not return anything, only the HTTP status code matters.

Models and Enumerations

Enumerations

AppointmentRecallStatus Enumeration

Value Description
0 None
1 Previous
2 Open

CarType Enumeration

Value Description
0 Car vehicle type
1 Unknown vehicle type
2 Van vehicle type
3 Motorcycle vehicle type
4 Truck vehicle type
5 Bus vehicle type
6 LightTruck vehicle type

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

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

CommunicationResultStatus Enumeration

Value Description
1
1 The question does not have a status yet
2 The customer is ok to fix this item
3 The customer is not ok to fix this item
4 The customer asked to be contacted about this item
4

CommunicationStatus Enumeration

Value Description
1 Customer did not open the Online Check-in yet
2 Customer did opened the Online Check-in
3 Customer did answered the Online Check-in
4 The Online Check-in is closed
5 Customer did not open the Diagnose overview yet
6 Customer did opened the Diagnose overview
7 Customer did answered the Diagnose overview
8 The Online Check-in is closed, can be reopened if resent
9 The repair overview was sent, look at communication events to know if it was opened
10 Customer did opened the Repair Overview

CustomerType Enumeration

Value Description
0 NotSet
1 Driver
2 Owner
3 Contractor

DBBStatus Enumeration

Value Description
0 Check that was not pushed to DBB
1 Check fully pushed to DBB
2 Check that need to be confirmed in DBB mini portal
3 Check that failed to be pushed to DBB

HeadingPosition Enumeration

Value Description
1 Heading content at the top
2 Heading content at the bottom

LandingPageID Enumeration

Value Description
1 Main page
2 Lead Dashboard
3 Warranty Dashboard
4 Manufacturer Dashboard
5 Dayplanner Dashboard
6 Exact Monitoring Dashboard

LanguageCode Enumeration

Value Description
nl-NL Dutch
en-GB English
fr-FR French
de-DE German
th-FR Thai-French
af-AF Afrikaans - extra language only for tablet users
bs-BS Bosnian - extra language only for tablet users
el-GR Greek - extra language only for tablet users
hu-HU Hungarian - extra language only for tablet users
pl-PL Polish - extra language only for tablet users
ro-RO Romanian - extra language only for tablet users

LefLeadKind Enumeration

Value Description
1 APK
2 Tires
3 Bid
4 Brochure
5 ContactRequest
6 Financing
7 Warranty
8 KeepMePosted
9 ClientSatisfaction
10 Loyalty
11 Mailing
12 Quotation
13 Maintenance
14 PrivateLease
15 TestDrive
16 Repairs
17 ShowroomVisit
18 Taxation
19 CallbackRequest
20 Insurance
21 OfficeQuotation
22 OfficeAppointment
23 CommercialLeasing
24 Other
25 ShortLease
26 Rental
27 Damage
28 CarConfigurator
29 Accessories
30 Complaint
31 Event
32 TelephonicLead
33 Webshop
34 SearchRequest
35 CallingList
36 RecallCampaign
37 ChargingPoint

PinStatusID Enumeration

Value Description
0 Not Set
1 Deleted
2 Support
3 Approval pending
4 More info
5 Approved
6 Declined
7 To claim
8 Claimed
9 Billed
10 Request
11 Technical info

PinTypeID Enumeration

Value Description
1 Pinned for remarks
2 Pinned for warranty
3 Pinned for recall

QuestionResultStatus Enumeration

Value Description
-1 No Status can be selected
0 OK, no problem found
1 OK with remarks, no problem found but a remark was given
2 Advised, a problem was found but does not need immediate attention
3 Necessary, a problem was found and it must be fixed
4 Not worked on, they question was skipped by the user

RoleID Enumeration

Value Description
10 Top level user role (has all permissions)
20 Claire admin role
25 Support admin role, similar to claire admin but without deleting rights
30 Manage dealers attached to it
40 Manage a single dealer
45 Exact admin role, can manage only exact related operations
50 Uses the dashboard and does aanname checks
55 Mechanic with access rights similar to receptionist
60 Does car checks
70 Allowed to use multiple locations for one dealer
80 Does quality controls
90 Perform leads, recall and warranty related tasks on allowed locations from one or more dealers
100 User by tablet on the counter of receptionists
110 Manufacturer are allowed to update certain data after their requests to access specific appointments are being granted

StatusIdentifier Enumeration

Value Description
-1 The appointment has been cancelled
1 Initial status for a new appointment
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

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

TyreReplacementSource Enumeration

Value Description
1 Claire
2 TyreTeam
3 TyreNet
3 Last

TyreTeamChannelID Enumeration

Value Description
1 Wheel-Tyre
2 BandenExpress

UserStatusID Enumeration

Value Description
1 Active
2 Inactive
3 Deleted

WarrantyTypeID Enumeration

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

Models

Appointment Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id AppointmentID Appointment's ID
dms_nr string Appointment ID in the DMS
dms_created_at time.Time When the Appointment was created in the DMS
wo_nr string Appointment work order number
importer_version string Version of Claire importer used to import Appointment from DMS
car_check_started bool Car check has started
customer_waiting bool The customer is waiting for the car
customer_waiting_edited bool The customer is waiting for the car is set by the user
is_local bool This appointment was created manually in Claire
is_money bool A receptionist marked this appointment with the money marker
is_star bool A receptionist marked this appointment with the star marker
is_star_color string Color for the star icon
is_shop bool A receptionist marked this appointment with the shop marker
is_shop_color string Color for the shopping cart icon
is_lease_company bool The appointment’s car belongs to a lease company
has_extra_check bool An extra check was performed
check_paused_at time.Time A car check was paused and when
final_check_has_remarks bool Final check has remarks
is_recurring bool This car came in the last 28 days
warranty_pin_count int Number of pinned warranty items on the appointment
warranty_pin_signature_missing_count int Number of pinned warranty items on the appointment that are missing a signature
warranty_pin_claim_nr_missing_count int Number of pinned warranty items on the appointment that are missing a claim nr
warranty_pin_support_nr_missing_count int Number of pinned warranty items on the appointment that are missing a claim nr
recall_pin_count int Number of pinned recall items on the appointment
recall_pin_claim_nr_missing_count int Number of pinned recall items on the appointment that are missing a claim nr
recall_pin_support_nr_missing_count int Number of pinned recall items on the appointment that are missing a supportnr
remark_pin_count int Number of pinned remark items on the appointment
next_date time.Time Planned next appointment date
predicted_next_date time.Time Predicted next appointment date
time_car_app time.Time Appointment date in Claire
is_pinned bool Is the appointment pinned
is_pinned_manually bool The appointment was pinned manually, preventing automatic overwriting
status_override StatusOverride The appointment's status was overridden manually, preventing automatic overwriting
car_in_shop time.Time When the car arrived at the location
car_in_shop_edited bool Car in Shop was overwritten in claire and no longer reflects the DMS
car_out_of_shop time.Time When the car left the location
car_out_of_shop_edited bool Car out of Shop was overwritten in claire and no longer reflects the DMS
due_in time.Time Car is scheduled to be in the shop on this date
car_return_time time.Time Car is scheduled to be returned back to the customer on this date
car_return_time_edited bool car return time was overwritten in claire and no longer reflects the DMS
dms_billed_updated bool Billed was updated by the DMS
check_in_com_sent bool Online Checkin was sent to a customer
check_in_com_answered bool Online Checkin was answered by a customer
check_in_com_to_handle int The customer asked for additional items to be handled
last_dms_update time.Time The last time this appointment was updated from the DMS
last_dms_refresh time.Time The last time this appointment was refreshed by a user opening the detail page
last_dbb_refresh time.Time The last time this appointment was refreshed to update data from DBB by a user opening the detail page
last_ocw_refresh time.Time The last time the OCW was refreshed by a user opening the detail page
last_recall_refresh time.Time The last time the recalls of this appointment was refreshed by a user opening the detail page
internal bool This appointment is internal and doesn't interact with real customers, such as when a car is new from the factory
has_panic bool A mechanic has a critical issue on the vehicle and needs immediate help
is_tyre_motion_ai_scanned bool The tyres are scanned by tyre motion AI
created_by string Indicates the origin of this appointment and the entity responsible for its creation
is_ocw_intervention_created bool Indicates if the OCW intervention has been created for this appointment. This intervention is created if the car supports OCW and it is reminder to disconnect and reconnect the car to ocw app.
bar_code string Custom BarCode, set while importing appointment via public-api. Contains additional information.
three_department_receptionist bool Indicates if the receptionist department has been set for this appointment
three_department_receptionist_set_at time.Time The time when the receptionist department was set for this appointment
three_department_receptionist_user_id UserID User ID who set the receptionist department
three_department_parts bool Indicates if the parts department has been set for this appointment
three_department_parts_set_at time.Time The time when the parts department was set for this appointment
three_department_parts_user_id UserID User ID who set the parts department
three_department_workshop bool Indicates if the workshop department has been set for this appointment
three_department_workshop_set_at time.Time The time when the workshop department was set for this appointment
three_department_workshop_user_id UserID User ID who set the workshop department
three_department_remark string Three department remark
three_department_remark_user_id UserID User ID who set the three department remark
three_department_remark_updated_at time.Time The time when the three department remark was updated
key_dropped_at time.Time Date and time the customer dropped the key in the keylocker
key_dropped_in string Name of the keylocker in which key is dropped in
key_picked_up_at time.Time Date and time the mechanic picked up the key in the keylocker
key_picked_up_by_id UserID User ID of the mechanic who picked up the key
key_dropped_back_at time.Time Date and time the mechanic dropped back the key in the keylocker
key_dropped_back_by_id UserID User ID of the mechanic who dropped back the key
key_dropped_back_in string Name of the keylocker in which key is dropped back in
key_picked_up_back_at time.Time Date and time the customer picked back up the key in the keylocker
key_picked_up_back_by_id UserID User ID of the receptionist who picked back up the key if they intervened
acses_key_drop_object_id string Acses Object Identifier used to drop the key
acses_key_drop_booking_id string Acses Booking Identifier containing the authentication needed so the customer can drop the key
acses_key_drop_in string Identifier of the Acses locker, where the key was dropped in
acses_key_dropped_at time.Time Date and time the customer dropped the key in the Acses locker
acses_key_pick_up_booking_id string Acses Booking Identifier used to open the locker to pickup the key
acses_key_pick_up_by_id UserID User Identifier of the mechanic who picked up the key from the Acses locker
acses_key_picked_up_at time.Time Date and time the mechanic picked up the key from the Acses locker
acses_key_drop_back_object_id string Acses Object Identifier used to drop back the key
acses_key_drop_back_booking_id string Acses Booking Identifier containing the authentication needed so the receptionist can drop back the key
acses_key_drop_back_by_id UserID User Identifier of the receptionist who dropped back the key in the Acses locker
acses_key_drop_back_in string Identifier of the Acses locker, where the key was dropped back in
acses_key_dropped_back_at time.Time Date and time the receptionist dropped the key in the Acses locker
acses_key_pick_up_back_booking_id string Acses Booking Identifier containing the authentication needed so the customer can pick back up the key
acses_key_assist_pick_up_booking_id string Acses Booking Identifier containing the authentication needed so the receptionist can pick back up the key
acses_key_assist_pick_up_by_id UserID User Identifier of the receptionist who picked back up the key if they intervened
acses_key_picked_up_back_at time.Time Date and time the key was picked back up from the Acses locker
sharebox_key_dropped_at time.Time Sharebox key dropped at
sharebox_key_dropped_in_cabinet_id int Sharebox Cabinet Identifier for Key drop
sharebox_key_dropped_in_reservation_id int ShareBox Reservation Identifier for Key drop
sharebox_key_dropped_in_locker_no int Sharebox Locker Identifier for Key drop
sharebox_key_dropped_in_location string Sharebox Location for Key drop
sharebox_key_picked_up_at time.Time Sharebox key picked up at date and time
sharebox_key_picked_up_by_id UserID Sharebox key picked up by Claire User Identifier
sharebox_key_dropped_back_at time.Time Sharebox key dropped back at date and time
sharebox_key_dropped_back_by_id UserID Sharebox key dropped back by Claire User Identifier
sharebox_key_dropped_back_in_cabinet_id int Sharebox Cabinet Identifier for Key drop back
sharebox_key_dropped_back_in_receiver_id int Sharebox Receiver Identifier used for key drop back and to be used for assist pickup
sharebox_key_dropped_back_in_reservation_id int Sharebox Reservation Identifier for Key drop back
sharebox_key_dropped_back_in_locker_no int Sharebox Locker Identifier for Key drop back
sharebox_key_dropped_back_in_location string Sharebox Location for Key drop back
sharebox_key_picked_up_back_at time.Time Sharebox key picked back up at date and time
sharebox_key_picked_up_back_by_id UserID Sharebox Key picked back up by Claire User Identifier
xentry_job_id string Identifier of this appointment in XEntry
kiosk_checked_in_at time.Time Customer used the Kiosk to checkin
kiosk_label_number KioskLabelNumber Customer used this Kiosk Label to checkin
planning_mechanic_id UserID A planning mechanic id from supported Planning interfaces
planning_work_start time.Time Work start time
planning_work_stop time.Time Work stop time
has_plan_it_data bool There is plan-IT data available for this appointment
has_recalls_data AppointmentRecallStatus There are recalls available for this appointment
has_ovis_data bool There are OVIS events available for this appointment
customer_owner_name string Name of the owner customer
customer_owner_profile_picture string Profile picture of the owner customer
assigned_mechanic UserID Assigned mechanic
assigned_mechanic_order int Assigned mechanic order
last_assigned_mechanic UserID Last assigned mechanic
extra_parts_list_id ChecklistID Checklist ID of the extra parts list, if an extra check was started on the appointment
extra_check_id CheckID Check ID of the extra check performed on the appointment
appointment_status_id AppointmentStatusID Current appointment's status ID in Claire
customer_driver_id CustomerID Customer (driver) ID in Claire
customer_owner_id CustomerID Customer (owner) ID in Claire
customer_contract_id CustomerID Customer (contractor) ID in Claire
dealer_location_id DealerLocationID Unique DealerLocation ID of the location that the appointment occurred in
car_id CarID Unique ID of the Car assigned to appointment
vin_nr string Vehicle Identification Number
car_model string Car Model
car_make string Car Make
reg_number string License plate number
reg_number_escaped string License plate number without dashes
current_km int Current odometer status
dms_km int Odometer reading from the DMS
next_km int Planned next appointment in kilometers on the odometer
car_apk_date time.Time Dutch technical inspection DMS date
car_hu_date time.Time German technical inspection DMS date
driver_initials string Driver initials
driver_title string Driver Title (e.g. Dhr. Mvr.,)
driver_firstname string Driver's first name
driver_surname string Driver's last name
driver_opted_out_from_importing bool Driver opted out from importing
contractor_initials string Contractor's initials
contractor_title string Contractor's Title (e.g. Dhr. Mvr.,)
contractor_firstname string Contractor's first name
contractor_surname string Contractor's last name
contractor_opted_out_from_importing bool Contractor opted out from importing
owner_initials string Owner's initials
owner_title string Owner's Title (e.g. Dhr. Mvr.,)
owner_firstname string Owner's first name
owner_surname string Owner's last name
owner_opted_out_from_importing bool Owner opted out from importing
company string Contractor's company name
appointment_status_identifier StatusIdentifier Current appointment's status identifier in Claire
last_timestamp time.Time Last time this appointment was updated
last_user string Name of the last user that interacted with the appointment
last_user_profile_picture string Profile picture of the last user that interacted with the appointment
last_user_at time.Time Time at which the last user interacted with the appointment
num_approved_items_not_fixed int Number of items waiting to be fixed on the appointment
has_dbb bool The appointment's car has DBB enabled
dbb_appointment_date time.Time Date provided by DBB for the delivery to the location from the hotel
car_check_dbb_status DBBStatus Status of pushing the car check to DBB
car_check_dbb_status_reason string Reason given by DBB for the car check status
final_car_check_dbb_status DBBStatus Status of pushing the final car check to DBB
final_car_check_dbb_status_reason string Reason given by DBB for the final car check status
dbb_file_reference string File reference returned by DBB for the pushed appointment
dbb_state string Tyre state as last reported by DBB
check_initiator_name string Name of mechanic who initiated check
check_initiator_email string Email of mechanic who initiated check
last_receptionist_name string Name of receptionist who last updated the appointment
last_receptionist_profile_picture string Profile picture of receptionist who last updated the appointment
last_customer_ok_set_by_id UserID User who sets the appointment in customer ok status
last_car_ready time.Time Updated whenever Car Ready status is set
fleet_number string Car fleet number
vehicle_type CarTypeID The vehicle's type
customer_driver Customer Customer (Driver) in Claire
customer_owner Customer Customer (Owner) in Claire
customer_contract Customer Customer (Contract) in Claire
check_initiator User User that initiated check
dealer_location DealerLocation
car Car Car object, refer to that model for more details
car_profile_picture string Car profile picture URL
status_history []AppointmentStatusHistory History of statuses
interventions []Intervention List of initial interventions
checks []Check
checklists []Checklist
customer_communication CustomerCommunication
acses_customer_communication AcsesCommunication Embedded when Acses was used to exchange a key
customcom_id CustomerCommunicationID
customcom_receptionist_key string
customcom_status CommunicationStatus
customcom_correct_phone string
customcom_correct_email string
customcom_customer_id CustomerID
customer_ok_user User
desk_communications []DeskCommunication
kiosk_communications []KioskCommunication
keylocker_communications []KeyLockerCommunication
diagnose_overview_results []CommunicationResult
repair_overview_results []CommunicationResult
communication_events []CommunicationEvent
check_in_remarks []CheckInRemark
check_in_results []CheckInResult
diagnose_overview_remarks []DiagnoseOverviewRemark
communication_note string
notes []AppointmentNote
dealer_name string
dealer_commercial_name string
location_name string
location_phone string
dealer_domain_name string
car_in_shop_set_by User
car_out_of_shop_set_by User
key_picked_up_by User Mechanic who picked up the key
planning_mechanic User
key_dropped_back_by User
key_picked_up_back_by User
acses_key_pick_up_by User
acses_key_drop_back_by User
acses_key_assist_pick_up_by User
sharebox_key_picked_up_by User
sharebox_key_dropped_back_by User
sharebox_key_picked_up_back_by User
check_events []CheckEvent Check events of the appointment, whether they are related to a status change in the status history or not
logs []AppointmentLog Logs of the appointment, like change in the customer owner etc.
pdf_include_activity_logs bool The multi check pdf needs to contain the activity logs
pdf_include_customer_sign_logs bool The multi check pdf needs to contain the customer sign logs
three_department_receptionist_user User User who set the receptionist department
three_department_parts_user User User who set the parts department
three_department_workshop_user User User who set the workshop department
three_department_remark_user User User who set or edited the three department remark
dms_car_id string only used by dms v3 service
dms_driver_id string only used by dms v3 service
dms_owner_id string only used by dms v3 service
dms_contractor_id string only used by dms v3 service
dms_rental bool only used by dms v3 service
is_car_in_shop bool set for the importer service only by dms v3 service
extracted_dms_users []DMSUser only used by dms v3 service

Car Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id CarID Claire Car ID
is_truck bool True if its a truck
make string Car make
model string Car model
fuel string Fuel type
reg_nr string Registration plate
reg_nr_escaped string
vin_nr string Vehicle identification number
dms_nr string Car ID in the DMS
profile_picture string Car picture URL
engine_number string
ocw_enabled bool The car supports mobile app over the air connectivity
fleet_number string
vehicle_type CarTypeID The vehicle's type
dms_registration time.Time DMS registration date
rdw_first_registration time.Time First registration date
rdw_first_registration_nl time.Time First NL registration date
rdw_type_goedkeurings_nummer string RDW type goedkeurings nummer
rdw_type string RDW type
rdw_variant string RDW variant
rdw_uitvoering string RDW uitvoering
apk_date_dms time.Time Dutch technical inspection DMS date
hu_date_dms time.Time German technical inspection DMS date
warranty_date_start time.Time When the factory warranty begins
warranty_date_end time.Time When the factory warranty ends
warranty_extended time.Time Typically an insurance warranty that goes beyond the factory warranty
rob_lease_expiration time.Time Expiration date of the lease contract with ROB
has_dbb bool
dbb_appointment_date time.Time
alignment_recommended bool
dealer_id DealerID
dealer_location_id DealerLocationID
dealer Dealer
dealer_location DealerLocation
on_car_tyres CarTyres Deprecated: CarTyres object for the tyres on the car, see that model for more details.
in_storage_tyres CarTyres Deprecated: CarTyres object for the tyres in storage, see that model for more details.
truck_tyres []TruckTyres Deprecated: TruckTyres object for the tyres of truck
car_lead_prediction CarLeadPrediction
notes []CarNote Notes on the car created in claire
tyres []VehicleTyre Tyres that are associated with the vehicle
keyloop_mappings []KeyloopMapping Keyloop provider code mappings for the car
dms_driver_id string used by dms v3 importer
dms_owner_id string used by dms v3 importer
dms_contractor_id string used by dms v3 importer

CheckInRemark Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id CheckInRemarkID
receptionist_handled bool Has receptionist handled this remark
customer_communication_id CustomerCommunicationID Customer communication identifier
title string Title
description string Description
customer_name string Customer name
visible_in_dashboard bool Is visible in dashboard
visible_to_mechanic bool Is visible to mechanic
attachments []CheckInAttachment Attachments
appointment_id AppointmentID Appointment identifier

CheckInResult Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id CheckInResultID Identifier of the checkin result
customer_communication_id CustomerCommunicationID Customer communication identifier
check_in_service_id CheckInServiceID Linked check in service identifier
accepted bool Is accepted by the customer
receptionist_handled bool Has receptionist handled this result
tag_id TagID Identifier of the tag if any associated with this result
notification_email string Notification email id
status CheckInResultStatusID Status of the checkin result
reason string Reason
mailgun_message_id string Mailgun message id
name string Name
description string Description
price float64 Price
info_url string Info URL
hide_for_lease_appointments bool Hide for the lease appointment
visible bool Is it visible
can_convert_to_intervention bool Can be converted to intervention
sent_to_lef bool Is this converted to lead in LEF
sent_to_lef_at time.Time Represents the date and time at which this result has been converted to lead in LEF
lef_lead_kind LefLeadKind LEF lead kind, used while converting to lead in LEF
appointment_id AppointmentID Appointment identifier
notifier_key NotifierKey Notifier key

CommunicationAgreement Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id CommunicationAgreementID
name string
text string
dealer_id DealerID
parent_id CommunicationAgreementID
deleted bool
optional_online_check_in bool
optional_kiosk_check_in bool
optional_keylocker_check_in bool
optional_desk_check_in bool
optional_desk_check_out bool
optional_customcom bool
visible_online_check_in bool
visible_kiosk_check_in bool
visible_keylocker_check_in bool
visible_desk_check_in bool
visible_desk_check_out bool
visible_customcom bool
accepted bool
customer_communication_agreement_id CustomerCommunicationAgreementID
communication_event_id CommunicationEventID
desk_communication_id DeskCommunicationID
keylocker_communication_id KeyLockerCommunicationID
kiosk_communication_id KioskCommunicationID
customer_communication_id CustomerCommunicationID
appointment_id AppointmentID

CommunicationEvent Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id CommunicationEventID
type CommunicationEventType Event type
ip string IP from which the Customer Answered
key_locker_pin_sent bool When the Type is Answered the Customer may have received a KeyLocker PIN
user_id UserID A User was responsible for this event being created
customer_communication_id CustomerCommunicationID CustomerCommunication Identifier that this event is related to
customer_id CustomerID A Customer was responsible for this event being created
customer_name string Name entered by the customer when answering a communication
customer_signature string Customer provided their signature
is_parking_gate_code_sent bool Is the parking gate code sent
is_automated bool This event was created automatically
user User
customer Customer
receivers []CommunicationReceiver
appointment_id AppointmentID
mailgun_message_id string
intervention_results []CustomerCommunicationIntervention
replacement_results []CustomerCommunicationReplacement
agreements []CommunicationAgreement
diagnose_overview_agreed_results []DiagnoseOverviewAgreedResult
diagnose_overview_declined_results []DiagnoseOverviewDeclinedResult
diagnose_overview_contact_results []DiagnoseOverviewContactResult

CommunicationResult Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
question_result_id QuestionResultID
customer_communication_id CustomerCommunicationID present for customer communications
desk_communication_id 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
check_id ChecklistID
checklist_type ChecklistType
checklist_name string
checklist_order int
group_name string
group_order int
question_order int
question_options []QuestionOption
title string
price float64
mechanic_fixed bool
mechanic_notes string
question_status QuestionResultStatus
customer_approved bool
images []QuestionResultImage
videos []QuestionResultVideo
answer_item AnswerItem
tyre_id TyreID
tyre_profile float64
tyre Tyre
tyre_position TyrePosition
tyre_replacements []TyreReplacement
pin_type_id PinTypeID

CommunicationSetting Model

Field Type Description
communication_detail_id CommunicationSettingID
color string Color
logo string Logo
welcome_text string Welcome text
welcome_picture string Welcome picture
success_text string Success text
repair_overview_welcome_text string Car Ready Welcome text
check_in_welcome_text string Checkin Welcome text
check_in_success_text string Checkin Success text
layout CommunicationLayoutID Layout
diagnose_overview_remarks_enabled bool Is Diagnose overview remarks enabled
checkin_remarks_enabled bool is checkin remarks enabled
phone_number string Phone number
email string Email
dealer_location_id DealerLocationID Dealer Location Identifier
support_enabled bool Is support enabled
support_text string Support text
check_in_days_prior int Number of days before which online checkin can be send
online_check_in_send_pin bool Include PIN in online checkin
send_parking_gate_code bool Sending parking gate code is enabled
online_check_in_name_visible bool Name visible in online checkin
diagnose_overview_name_visible bool Name visible in diagnose overview
check_in_testing_mode bool Is testing mode for online checkin
check_in_testing_email string Testing email for online checkin
check_in_testing_phone string Testing phone for online checkin
counter_tablet_home_url string Home URL for the counter tablet
diagnose_cc_testing_mode bool Is testing mode enabled for diagnose communication
diagnose_cc_testing_email string Testing email for diagnose communication
diagnose_cc_testing_phone string
repair_cc_testing_mode bool Is testing mode enabled for repair communication
repair_cc_testing_email string Testing email for repair communication
repair_cc_testing_phone string Testing phone for repair communication
automatically_send_repair_overview_when_car_ready bool On setting a workorder in car ready state, automatically send repair overview
automatically_send_repair_overview_when_quality_check bool On performing quality check on a workorder, automatically send repair overview
automatically_send_repair_overview_on_car_ready_and_billed bool Automatically send a repair overview whenever car is ready and workorder is billed.
automatically_send_repair_overview_on_car_ready_and_out_of_shop bool Automatically send a repair overview whenever car is ready and moved out of shop.
disable_sending_automated_repair_overview_on_quality_issues bool Disable sending automated repair overview on quality issues, i.e. if enabled, repair overview will not be sent automatically on the quality check.
hide_price_for_automatic_repair_order bool When a repair overview is sent automatically this will hide the prices for the customer
website string Website
report_template_id ReportTemplateID Report template identifier
heading_position HeadingPosition Heading position
send_confirmation_emails bool Can send confirmation emails
enable_not_fixed_advised bool Is do not fix advised items enabled
enable_not_fixed_critical bool Is do not fix critical items enabled
cannot_decline_warranty_types bool Cannot decline interventions/question results which are pinned with warranty type
enable_not_fix_without_status bool Is do not fix without status items enabled, applicable to interventions which are not converted/connected to a check question result
skip_without_status_items bool Is skipping without status items enabled, applicable to interventions which are not converted/connected to a check question result
skip_optional_items bool Is skipping optional items enabled
hide_lease_intervention_price bool Hide price for interventions of lease appointment
hide_internal_intervention_price bool Hide price for internal intervention
hide_warranty_intervention_price bool Hide price for warranty type intervention
hide_recall_intervention_price bool Hide price for recall type intervention
hide_prices_in_desk_communication bool Hide prices in desk communication. Used when the location always expects the driver of the vehicle to not be the owner
block_automated_communication_for_lease_customer bool Block the automate communication for lease customers
is_sms_for_automated_customer_communication_enabled bool Is SMS enabled for the automated customer communication
is_bird_whats_app_for_automated_customer_communication_enabled bool Is Bird WhatsApp enabled for the automated customer communication
is_customer_name_in_kiosk_checkin_enabled bool Is customer name enabled in kiosk checkin
is_customer_signature_in_kiosk_checkin_enabled bool Is customer signature enabled in kiosk checkin
is_customer_ok_read_only_in_desk_check_in bool If set to true, the Customer OK option in desk checkin is read only, i.e. Customer cannot set ok for the results
is_desk_contact_info_enabled bool Show the customer a popup on desk-checkin for the customer to enter their contact information
external_js string External JS code snippet
external_css string External CSS code snippet
google_analytics_id string Google Analytics ID
display_intervention_elements bool Display intervention elements
enable_closing_pop_up_on_cc bool Enable closing pop up on communications
show_parking_location_note_on_kiosk_check_in bool If enabled, then kiosk checkin will show an option to customer to add a parking note, this note is treated as parking note on a workorder.
is_service_tracker_enabled bool If true, then customer communication will be displayed via service tracker.
service_tracker_check_in_message string Custom message to be displayed on service tracker at Check In stage
service_tracker_check_in_car_diagnostic_message string Custom message to be displayed on service tracker between check in and diagnostic stage
service_tracker_car_diagnostic_message string Custom message to be displayed on service tracker on car diagnostic stage
service_tracker_car_diagnostic_waiting_for_approval_message string Custom message to be displayed on service tracker between car diagnostic and waiting for approval stage
service_tracker_waiting_for_approval_message string Custom message to be displayed on service tracker on waiting for approval stage
service_tracker_waiting_for_approval_repair_items_message string Custom message to be displayed on service tracker between waiting for approval and repair items stage
service_tracker_repair_items_message string Custom message to be displayed on service tracker on repair items stage
service_tracker_final_check_message string Custom message to be displayed on final check stage
service_tracker_picked_up_car_message string Custom message to be displayed on pick up car stage
is_star_rating_enabled bool Is star rating enabled
star_rating_experience_message string Star rating experience message
star_rating_service_message string Star rating service message
star_rating_speed_message string Star rating speed message
layouts []CommunicationLayout List of communication layouts
language_code LanguageCode Language code
vat float64 VAT
include_vat bool Is VAT Included
dms_price_enabled bool Is DMS price enabled
total_pdf_enabled bool is total pdf enabled
dealer_name string Dealer name
location_name string Location name
location_street string Location street
location_postal_code string Location postal code
location_city string Location city
location_country string Location country
headline string Headline
summer_a_threshold float64 A Threshold for Summer tyres
summer_n_threshold float64 N Threshold for Summer tyres
winter_a_threshold float64 A Threshold for Winter tyres
winter_n_threshold float64 N Threshold for Winter tyres
all_season_a_threshold float64 A Threshold for All season tyres
all_season_n_threshold float64 N Threshold for All season tyres
mechanic_name string Mechanic name
show_mechanic_name bool Show mechanic name
is_employee_name_visible bool Is employee name visible
has_sms bool Is SMS supported
has_whats_app bool Is WhatsApp supported
is_acses_enabled bool Is Acses Enabled
maintenance_mode bool Is Maintenance Mode enabled
generate_ai_summary bool Generating summary for customer communication is enabled for this location

Customer Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id CustomerID Customer's ID
meta_dms_nr string Some DMS can have multiple contacts for a single customer. This field, alongside dms_nr, help to identify which contact should be referenced
dms_nr string Identifier in DMS
last_appointment_date time.Time Last appointment this Customer was associated with
last_disposal_at time.Time When the customer information was removed due to no longer being associated with recent appointments
company string Company name
is_lease_company bool Is the company a lease company
is_internal bool Is this customer for Internal usage
is_internal_edited bool IsInternal was edited through Claire
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
house_nr string House Number of the customer
postcode string Postcode of the customer
place string Place of the customer
country string Country of the customer
block_communication bool Customer has opted for no communication
preferred_communication_channel CommunicationChannelID Preferred communication channel opted by the customer
email_private string Private Email
email_business string Business Email
tel_business_nr string Business Landline Number
tel_private_nr string Private Landline Number
tel_mobile_private string Private Mobile Number
tel_mobile_business string Business Mobile Number
tel_mobile_private_invalid_for_whats_app string Invalid private mobile number for WhatsApp
tel_mobile_business_invalid_for_whats_app string Invalid business mobile number for WhatsApp
dealer_location_id DealerLocationID Location Identifier of the customer
dealer_id DealerID Dealer ID of the customer
dealer_location DealerLocation
dealer Dealer
appointments []Appointment
cars []Car
customer_type CustomerType Customer type
notes []CustomerNote List of notes of the customer

CustomerCommunication Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
customer_communication_id CustomerCommunicationID CustomerCommunication Identifier
receptionist_key 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
correct_phone string Phone Number given by the Customer
correct_email string Email given by the Customer
star_rating_experience_message string Message sent to the customer for the star rating experience
star_rating_experience int Overall experience rating provided by the customer
star_rating_service_message string Message sent to the customer for the star rating service
star_rating_service int Rating provided by the customer for the services
star_rating_speed_message string Message sent to the customer for the star rating speed
star_rating_speed int Overall rating provided by the customer to the speed of all the process
star_rating_feedback string Feedback provided by the customer
customer_id CustomerID Customer who this CustomerCommunication is for
appointment_id AppointmentID Appointment from which this CustomerCommunication originated from
car_id CarID Car from which the Appointment is for
receptionist_id UserID Receptionist who last interacted with this CustomerCommunication
dealer_location_id DealerLocationID DealerLocation from which the Appointment is from
note string Note set by Receptionist
customer Customer Customer who this CustomerCommunication is for
appointment Appointment Appointment from which this CustomerCommunication originated from
car Car Car from which the Appointment is for
receptionist User Receptionist who last interacted with this CustomerCommunication
check_in_results []CheckInResult CheckInResults that the Customer was sent during online or desk or keylocker check-in
check_in_remarks []CheckInRemark CheckInRemarks that the Customer created
diagnose_overview_results []CommunicationResult Diagnose Overview Results that the customer was sent in diagnose overview
diagnose_overview_remarks []DiagnoseOverviewRemark Remarks entered during diagnose overview by the customer
results []CommunicationResult CommunicationResults that the customer was sent in diagnose or repair overview
agreements []CommunicationAgreement CommunicationAgreements that have been agreed
events []CommunicationEvent CommunicationEvents that have occurred
is_receptionist bool The Receptionist is currently interacting with this CustomerCommunication
settings CommunicationSetting Settings for this CustomerCommunication
frontend_update_required bool When this is true, data has been modified on the contained entities and so the frontend must show this new data to the customer

DiagnoseOverviewRemark Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id DiagnoseOverviewRemarkID
customcom_id CustomerCommunicationID Customer communication ID
title string Title given by the Customer
description string Description given by the Customer
customer_name string Name of the Customer
receptionist_handled bool A Receptionist has handled this remark
visible_to_mechanic bool Is visible to mechanic
attachments []DiagnoseOverviewAttachment Attachments
appointment_id AppointmentID Appointment Identifier

Intervention Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id InterventionID
dms_nr string Intervention ID in the DMS
title string Intervention title
description string Description of what the intervention is for
internal_note string An internal note never shown to the customer
price float64 Relative cost of intervention that should be covered by the Customer
ordering int A DMS can define its own ordering that needs to be replicated in the UI. When this is null, order by the ID ascending.
vat float64 VAT
labor_minutes int Sum of minutes for labor elements
dms_price_edited bool
dms_deleted bool Intervention was deleted in the DMS but we cannot delete it due to relations
mechanic_notes string Mechanic's notes
pinned bool Whether the intervention is pinned in Claire
snoozed bool Whether the intervention is snoozed in Claire
is_declined_by_customer bool Whether the customer declined the intervention in Claire
is_signed_by_customer 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
last_mechanic_name string The last mechanic to update the intervention
mechanic_fixed bool Was the intervention fixed by a Mechanic
customer_ok bool Customer has agreed to the intervention
is_local bool Intervention was created manually in Claire
is_maintenance bool Intervention is of the type maintenance
is_internal_in_dms bool Intervention is internal in the dms
is_warranty_in_dms bool Intervention is warranty in the dms
visible_to_customer bool Intervention is visible to the Customer
appointment_id AppointmentID
question_result_id QuestionResultID Question result identifier if converted from Question Result
check_in_remark_id CheckInRemarkID
diagnose_overview_remark_id DiagnoseOverviewRemarkID
keylocker_remark_id KeyLockerRemarkID
kiosk_remark_id KioskRemarkID
snooze_id SnoozeID
check_in_result_id CheckInResultID
dealer_location_id DealerLocationID
communication_result_status CommunicationResultStatus
checkin_attachments []CheckInAttachment
diagnose_overview_attachments []DiagnoseOverviewAttachment
pin_history []Pin
snooze_history []Snooze
check_in_result CheckInResult
check_in_remark CheckInRemark
diagnose_overview_remark DiagnoseOverviewRemark
keylocker_remark KeyLockerRemark Customer remark during keylocker check-in that has been converted to this intervention.
kiosk_remark KioskRemark Customer remark during kiosk check-in that has been converted to this intervention.
snooze Snooze
car_id CarID
elements []InterventionElement Elements of the Intervention
pin_type_id PinTypeID Type of the pin
pin_status_id PinStatusID Status of the pin
warranty_type_id WarrantyTypeID If pinned, and if it is warranty, then type of warranty
question_result_status QuestionResultStatus Status of the question result if converted from Question Result
attachments []InterventionAttachment Attachments of the Intervention
reference_nr string The client can provide a reference nr in order to map to the ID. Used when frontend are creating an appointment and can have multiple interventions.
pending_checklists []InterventionPendingChecklist Checklists that were selected to be completed for this intervention
replacements []VehicleTyreReplacement Replacements to be mounted on the vehicle or storage
intervention_code string The intervention code, usually defined as the menu code
dms_wo_number string The WONr of the appointment, so this intervention can be paired to its appointment

User Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id UserID Claire User ID
dms_nr string DMS Number of the Claire User
dms_location_source string DMS Location Source
external_user_id string External User ID
first_name string First name
last_name 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
last_active time.Time Last activity date in Claire
address1 string Address line 1
address2 string Address line 2
last_password_change time.Time Last password change date in Claire
status UserStatusID User status
web_version string Web version the user is using
app_version string App version the user is using
camera_version string Camera app version the user is using
location_column_visible bool Is Location Visible
multi_device_login_enabled bool Is user allowed to login from multiple devices simultaneously
is_combi_user bool Indicates if a user can use both web and tablet
has_leased_tablet bool Indicates if the user has a tablet that is used
list_appointments_by_scheduled_range bool Indicates if a user can list appointments by scheduled range
csv_download bool Indicates if a user can download CSV files
profile_picture string Profile picture URL
language_code LanguageCode Default language for the user
dealer_id DealerID Default Dealer ID when loggin in
dealer_location_id DealerLocationID Default Location ID when loggin in
role_id RoleID Default Role ID when loggin in
landing_page_id LandingPageID Default Landing Page ID when loggin in
is_counter_tablet_user bool Indicates if a user is a counter tablet user
is_keylocker_allowed bool Indicates if a user is allowed to use key locker
is_tablet_translation_ai_enabled bool Indicates if a user can use AI translations on the tablet
is_available bool
pin_status_notification_enabled bool Indicates if a user is allowed to receive pin status notifications
customer_waiting_car_in_shop_notification_enabled bool If true, user will get notified by claire notification for workorder with car in shop and customer waiting status.
tyre_ordering_enabled bool Indicates if a user is allowed to order tyres
shop_status_same_day_filter_enabled bool Indicates if same day shop status filter is enabled
shop_status_next_day_filter_enabled bool Indicates if next day shop status filter is enabled
shop_status_to_order_filter_enabled bool Indicates if to order shop status filter is enabled
shop_status_backorder_filter_enabled bool Indicates if backorder shop status filter is enabled
shop_status_arrived_parts_filter_enabled bool Indicates if arrived parts shop status filter is enabled
star_color_green_enabled bool Indicates if filtering on green star color is enabled
star_color_red_enabled bool Indicates if filtering on red star color is enabled
star_color_blue_enabled bool Indicates if filtering on blue star color is enabled
star_color_yellow_enabled bool Indicates if filtering on yellow star color is enabled
working_on AppointmentID ID of the appointment the user is currently working on
day_planner_appointments_collapsed_by_default bool Indicates if appointments are collapsed by default on the dayplanner.
day_planner_cars_ready_collapsed_by_default bool Indicates if cars ready are collapsed by default on the dayplanner.
day_planner_quality_control_collapsed_by_default bool Indicates if quality control is collapsed by default on the dayplanner.
car_type_filter CarTypeID Filter for what type of vehicle is visible in main/dayoverview page
is_vat_enabled_on_wo bool if vat is enabled at location level then this flag is the default value for the vat toggle on appointment detail pages.
is_desktop_notifications_enabled bool Indicates if desktop notifications are enabled. Note: This field is not used by V7.
my_locations []DealerLocationID Locations the user has access to
dealers []Dealer Dealers the user has access to
dealers_ids []DealerID Dealer IDs the user has access to
location_ids []DealerLocationID Location IDs the user has access to
dealer_location DealerLocation Dealer location the user has access to
device_id DeviceID Device ID of the user
counter_tablet_key string come from the auth user, not saved in the DB to last only as long as the session
role_name string Role name of the user
dpo bool Indicates if the user is a DPO user
acl []ACL ACLs of the user
brand_ids []BrandID List of brand identifiers
brands []Brand List of brands
onei_planning_monteur_id OneiPlanningMonteurID
planit_planning_mechanic_id PlanItPlanningMechanicID PlanIt Planning Mechanic ID of the user
notification_element_ids []NotificationElementID Notification element IDs of the user
dealer_name string Name of the dealer
location_name string Name of the location
appointment_id AppointmentID AppointmentID, used internally
appointment_status_identifiers []StatusIdentifier StatusIdentifiers filters of the user
dayplanner_appointment_status_identifiers []DayPlannerAppointmentStatusesFilter StatusIdentifiers filters of the user on the Dayplanner
dayplanner_brand_ids []BrandID List of brandIDs of the user on the Dayplanner
has_leased_device bool Indicates if the user has a leased device
export_events []ExportEvent List of exportEvents for the user that have not been downloaded yet

VehicleTyreReplacement Model

Field Type Description
created_on time.Time Creation date in Claire
updated_on time.Time Last update date in Claire
id VehicleTyreReplacementID -
remark string Remarks from the receptionist or mechanic
selected bool Whether this replacement was selected by the customer to be mounted on the car or not
mounted bool Whether this replacement was mounted on the vehicle/storage or not
price float64 Price of this replacement tyre
discount float64 Discount in the price
net_margin_euro float64 Margin applied from a tyre discount as a fixed euro amount
net_margin_percent float64 Margin applied from a tyre discount as a percentage
tyre_team_system_number TyreTeamSystemNumber Reference to the TyreTeam Tyre ID
tyre_team_channel TyreTeamChannelID Which Channel TyreTeam was queried through
delivery_method string Delivery method chosen, if there was one
source TyreReplacementSource This tyre was created from a specific source
order_placed bool Order placed to a tyre supplier
visible_to_customer bool Whether the replacement is visible to the customer in communication for selection
tyre_id TyreID Claire Tyre ID
axle int Axle of the truck tyre
position TyrePosition Position of the tyre on the vehicle
intervention_id InterventionID Intervention Identifier that allows the mechanic to mount the tyres
appointment_id AppointmentID Which appointment these replacements are applied to
tyre Tyre Tyre details for this replacement
profile float64 Tyre tread profile entered by the mechanic after it was mounted on the car
communication_result_status CommunicationResultStatus The answer from the customer in a communication

Changelog

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

Notes - 08.07.2026

The following endpoint has been added:

WO TyreReplacements - 14.06.2026

The request of /v2/diagnose_overview/answer changed for WO tyre replacements:

Communication - 25-10-2025.

The following endpoint is included with this release:

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.