Skip to main content

Appointment data model

This is the data structure that you will receive every time you are trying to get appointments from our APIs or listening to our events.

Summary of the fields.

Parameter NameDescription
uuidUnique identifier used by mykaarma to uniquely identify each appointment
customerInformation.firstNameFirstName of the customer of the appointment
customerInformation.lastNamelastName of the customer of the appointment
customerInformation.companycompany name of the customer provided if the customer is a BUSINESS customer
customerInformation.isBusinessTrue if the customer is a business customer (by business customer, we mean the customer is a company or any business and not an individual)
customerInformation.customerKeyKey or identifier of the customer in DMS
customerInformation.confirmationPhonePhone number of the customer where confirmation text to be sent
customerInformation.confirmationEmailThe email of the customer where confirmation email to be sent
customerInformation.custLocaleThe preferred language of the customer ex. 'en-us'
customerInformation.uuidUnique identifier of the customer in myKaarma
vehicleInformation.vehicleKeyUnique identifier used by DMS to uniquely identify each vehicle, used by mykaarma to lookup vehicles in DMS databases for various purposes like updation, deletion, booking appointment etc.
vehicleInformation.uuidUnique identifier used by mykaarma in addition to vehicles.id, used for uniquely identifying vehicles over API calls(for read, write, update, delete purposes) without revealing their database id that is vehicles.id
vehicleInformation.yearthe year when the vehicle was manufactured
vehicleInformation.makethe brand of the vehicle
vehicleInformation.engineengine description of the vehicle
vehicleInformation.trimtrim description of the vehicle
vehicleInformation.modelmodel of the vehicle
vehicleInformation.vinVIN of the vehicle
vehicleInformation.isValidIndicates whether the customer currently owns the vehicle.
orderInformation.uuidUUID (unique identifier in myKaarma) of the repair order associated with this appointment
orderInformation.orderNumberNumber of the repair order associated with this appointment
orderInformation.orderDateDate of the repair order associated with this appointment
orderInformation.orderTypeType of the repair order associated with this appointment
dealerUuidUUID (unique identifier in myKaarma) of the dealer
assignedAdvisorUuidUUID (unique identifier in myKaarma) of the advisor to which appointment is assigned
creatorAdvisorUuidUUID (unique identifier in myKaarma) of the advisor who created the appointment
assignedAdvisorDmsDepartmentCodeDispatch code in DMS of the advisor to whom appointment is assigned.
datetime stamp when appointment was created in YYYY-MM-DD HH:MM:SS format in PST timezone
preferredDatedate of the appointment in YYYY-MM-DD format
startTimeStart time of the appointment in YYYY-MM-DD HH:MM:SS format. This is dealership timezone.
endTimeEnd time of the appointment in YYYY-MM-DD HH:MM:SS format. This is dealership timezone.
transportOption.uuidUUID (unique identifier in myKaarma) of the transport option associated to appointment
transportOption.altTransportationcustom name of the transport option associated to appointment
transportOption.bookingIdID from third party if the loaner is booked in third party like TSD,etc.
transportOption.bookInThirdPartyThis would be true if loaner is booked in third party like TSD,etc.
transportOption.bookingStartDateStart date of the booking in third party like TSD, etc.
transportOption.bookingEndDateEnd date of the booking in third party like TSD, etc.
transportOption.bookingIsManualIs booking done manually in third party
transportOption.bookingIsValidIs booking in the third party valid?
transportOption.loanerSmartLinkA link provided by third party to access loaner.
transportOption.transportationname of the transport option associated to appointment
transportOption.subTransportOptionUuidUUID of the subtransport option associated to appointment like Loaner in PnD.
appointmentKeyKey or identifier in DMS of the appointment
mileageTextcustom name of the transport option associated to appointment
recallrecall associated to appointment
platformPlatform from which appointment was created like dealer app, web scheduler, DMS, etc.
appointmentSourceSource from which appointment was created like dealer, DMS, API ,etc.
statusstatus (old and less details) of the appointment at this moment. Check bottom of this page for explanation
newStatusstatus (new and more detailed) of the appointment at this moment. Check bottom of this page for explanation
commentsNotes from customer for this appointment
internalNotesNotes from dealership personel for this appointment
isCancelledIs the appointment cancelled?
reminderCountNumber of times the reminder has been sent for this appointment
serviceListA list of line items associated with the appointment
serviceList.uuidUUID of the opcode/service in this line item
serviceList.opCodeName of the opcode/service in this line item
serviceList.laborOpCodeUnique code of the opcode/service in this line item
serviceList.descriptionDescription of the line item
serviceList.operationTypeWhat is the type of service. The default is OPCODE. It can be OPCODE, SERVICEMENU, SERVICEMOTORSMAINTENANCEMENU, SERVICEMOTORSLINEITEM, SERVICEMOTORSINDICATOR.
serviceList.laborTotalTotal labor price of the opcode/service in this line item
serviceList.partsTotalTotal parts price of the opcode/service in this line item
serviceList.shopFeesPrice of the shop of the opcode/service in this line item
serviceList.taxesTaxes to be applied for the opcode/service in this line item
serviceList.pricePrice of the line item
serviceList.isValidWhether the line item is valid or has been canceled
serviceList.payTypeWhat is the pay type of the line item, ex. Customer, Warranty, Internal, etc.
serviceList.sortOrderDefines at what place in the list will the line item show
serviceList.parentOpcodeUuidString
serviceList.menuUuidThis is valid only for menus and not opcodes. Unique identifier of the menu
serviceList.recallIDID of the recall associated with the line item
serviceList.durationInMins`String
serviceList.isCustomConcernThis tells whether the opcode/service is present at dealership or there is a custom request from customer
serviceList.isDealerAddedLineString
skillListA list of skills needed for the appointment
skillList.uuidUUID of the skill
skillList.nameName of the skill
skillList.dealerUuidUUID of the dealership associated with the skill
skillList.departmentUuidUUID of the department associated with the skill
skillList.operationListList of opcodes/services associated with the skill
skillList.isValidWhether skill is valid or not
appointmentCommunicationPreferencesPreferences for communication like confirmation and reminder for the appointment
appointmentCommunicationPreferences.emailConfirmationWhether to send appointment confirmation email or not
appointmentCommunicationPreferences.textConfirmationWhether to send appointment confirmation text or not
appointmentCommunicationPreferences.emailReminderWhether to send appointment reminder email or not
appointmentCommunicationPreferences.textReminderWhether to send appointment reminder text or not
appointmentCommunicationPreferences.confirmationEmailEmail to which confirmation has to be sent for the appointment
appointmentCommunicationPreferences.textConfirmationPhone number to which confirmation has to be sent for the appointment
appointmentCommunicationPreferences.sendCommunicationToDAWhether to send appointment communication copies to dealer associate
teamUuidUUID of the team associated with appointment
dispatchCodeDispatch code associated to appointment
customerVehicleInspectionIdID of the vehicle inspection
sarmetaData.dmsMetaData.typeType of DMS event associated with this metaData - PUSH or PULL
sarmetaData.dmsMetaData.titleWhat happened for this DMS event - SUCCESS or FAILURE
sarmetaData.dmsMetaData.descriptionDetail of the DMS event
sarmetaData.dmsMetaData.vehicleUuidUUID of the vehicle
sarmetaData.dmsMetaData.dealerAssociateIdUUID of the dealer associate
sarmetaData.appointmentDataKey value pair map to store appointment metadata

Status and NewStatus explanation

newStatus

This table explains the different appointment statuses (values 'newStatus' field takes) used in myKaarma UI.

Status ValueDescription
CancelledThe appointment has been cancelled.
FailedThe appointment failed to push to DMS.
UpdatedSome parameter (other than time or date) of the appointment has been updated.
Cancellation RequestedOn asking for confirmation through a reminder, the customer has requested to cancel the appointment.
ConfirmedOn asking for confirmation through a reminder, the customer has confirmed their attendance.
No ShowThe customer didn’t show up for the appointment. This happens when the appointment time has ended and there is no RO for the customer.
Reminder SentA reminder has been sent for the appointment to the customer.
RescheduledThe customer has changed the time or date of the appointment.
Rescheduling RequestedOn asking for confirmation through a reminder, the customer has requested to reschedule the appointment.
ScheduledThe appointment has been scheduled. This is the status when the appointment is created.
ShowThe customer showed up for the appointment, and an RO has been mapped to the appointment.

status

Status ValueMeaningDescriptionAppointment Tile Color
RShowCustomer showed up and we have linked a repair order with the appointment.🟢 Green
RSProbable ShowA duplicate customer with similar customer details showed up.🟠 Orange
NNo ShowNo repair order found, so the customer has not shown up.🔴 Red
RMManual ShowWhen Service Advisors manually mark an appointment as a show.🟢 Green
NMNo Show ManualWhen Service Advisors manually mark an appointment as a no-show.🔴 Red