Appointment

The Appointment object contains information about a scheduled service for one of your Customers for a specific Location.


GET/v3/appointment/:id

Find Appointment

Find one Appointment by id

URL parameters

  • Name
    id
    Type
    string Required
    Description
    the id for the object to retrieve

Produces

The response content type: application/json

200 Response

  • Name
    data
    Type
    object Required
    Description
    Appointment schema
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Properties for data object

  • Name
    id
    Type
    string Required
    Description
  • Name
    publicId
    Type
    string Required
    Description
  • Name
    meta
    Type
    object Required
    Description
    the metadata about the most recent change to the row
  • Name
    metadata
    Type
    object
    Description
    metadata reserved for customers to control
  • Name
    createdDate
    Type
    string Required
    Description
    Date and time when this appointment was created
  • Name
    updatedDate
    Type
    string Required
    Description
  • Name
    companyId
    Type
    string Required
    Description
  • Name
    name
    Type
    string Required
    Description
    name of the appointment like 'Oil change'
  • Name
    startDate
    Type
    string Required
    Description
    start date and time of the appointment
  • Name
    endDate
    Type
    string Required
    Description
    end date and time of the appointment
  • Name
    duration
    Type
    integer Required
    Description
    the calculated duration
  • Name
    rruleset
    Type
    string Required
    Description
  • Name
    customerId
    Type
    string Required
    Description
  • Name
    note
    Type
    string Required
    Description
    notes for the appointment
  • Name
    vehicleId
    Type
    string Required
    Description
  • Name
    orderId
    Type
    string Required
    Description
  • Name
    color
    Type
    one of: aqua, black, blue, brown, gray, green, orange, purple, red, yellow Required
    Description
  • Name
    useEmail
    Type
    boolean Required
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    useSMS
    Type
    boolean Required
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    sendConfirmation
    Type
    boolean Required
    Description
    Send confirmation notification at the moment of saving the appointment
  • Name
    sendReminder
    Type
    boolean Required
    Description
    Send reminder will send a notification at some user-specified times before the appointment using scheduler
  • Name
    cancellationNote
    Type
    string Required
    Description
    if the appointment was canceled
  • Name
    allDay
    Type
    boolean Required
    Description
  • Name
    removedFromRecurrency
    Type
    boolean Required
    Description
  • Name
    customerEmailId
    Type
    string Required
    Description
  • Name
    customerPhoneNumberId
    Type
    string Required
    Description
  • Name
    locationId
    Type
    string Required
    Description
  • Name
    confirmationSubject
    Type
    string Required
    Description
  • Name
    confirmationText
    Type
    string Required
    Description
  • Name
    reminderSubject
    Type
    string Required
    Description
  • Name
    reminderText
    Type
    string Required
    Description
  • Name
    chatBotSessionId
    Type
    string Required
    Description
    if the appointment was created via a chatbot session, this will be the related session
  • Name
    confirmationStatus
    Type
    one of: Confirmed, Declined, NoResponse Required
    Description
  • Name
    origin
    Type
    one of: Shop, HQ, AppointmentScheduler Required
    Description

Properties for meta object

  • Name
    userId
    Type
    string
    Description
    the user id that made the most recent change
  • Name
    sessionId
    Type
    string
    Description
    the session id for the most recent change
  • Name
    version
    Type
    number
    Description
    a monotonically increasing number for the most recent change

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request

GET
/v3/appointment/:id
curl https://api.shopmonkey.cloud/v3/appointment/:id \
  -H "Authorization: Bearer ${SM_TOKEN}"

Example Response
application/json

{
  "success": true,
  "data": {
    "id": "id",
    "meta": {
      "userId": "userId",
      "sessionId": "sessionId",
      "version": 1
    },
    "createdDate": "createdDate",
    "updatedDate": null,
    "companyId": "companyId",
    "name": "name",
    "startDate": "startDate",
    "endDate": "endDate",
    "rruleset": null,
    "customerId": null,
    "note": "note",
    "vehicleId": null,
    "orderId": null,
    "color": "color",
    "useEmail": true,
    "useSMS": true,
    "sendConfirmation": true,
    "sendReminder": true,
    "cancelationNote": null,
    "pendingConfirmation": true,
    "confirmed": true,
    "allDay": true,
    "removedFromRecurrency": true,
    "customerEmailId": null,
    "customerPhoneNumberId": null,
    "locationId": "locationId",
    "customer": {
      "id": "id",
      "meta": {
        "userId": "userId",
        "sessionId": "sessionId",
        "version": 1
      },
      "createdDate": "createdDate",
      "updatedDate": null,
      "companyId": "companyId",
      "customerType": "customerType",
      "firstName": null,
      "lastName": null,
      "companyName": null,
      "address1": null,
      "address2": null,
      "city": null,
      "state": null,
      "country": null,
      "postalCode": null,
      "dotNumber": null,
      "paymentTermId": "paymentTermId",
      "note": "note",
      "marketingOptIn": true,
      "preferredContactMethod": null,
      "referralSourceId": null,
      "taxExempt": true,
      "discountPercent": 1,
      "laborRateId": null,
      "laborMatrixId": null,
      "pricingMatrixId": null,
      "fleetId": null,
      "lastTimeOrderWorked": null,
      "statementCount": 1,
      "transactionCount": 1,
      "deferredServiceCount": 1,
      "appointmentCount": 1,
      "messageCount": 1,
      "customFields": {}
    },
    "order": {
      "id": "id",
      "publicId": "publicId",
      "meta": {
        "userId": "userId",
        "sessionId": "sessionId",
        "version": 1
      },
      "createdDate": "createdDate",
      "updatedDate": null,
      "companyId": "companyId",
      "locationId": "locationId",
      "number": 1,
      "vehicleId": null,
      "phoneNumberId": null,
      "emailId": null,
      "customerId": null,
      "name": null,
      "generatedName": null,
      "coalescedName": null,
      "complaint": null,
      "recommendation": null,
      "purchaseOrderNumber": null,
      "generatedVehicleName": null,
      "generatedCustomerName": null,
      "orderCreatedDate": "orderCreatedDate",
      "archived": true,
      "authorized": true,
      "authorizedDate": null,
      "invoiced": true,
      "sentToCarfax": true,
      "inspectionStatus": "inspectionStatus",
      "inspectionCount": 1,
      "invoicedDate": null,
      "paid": true,
      "appointmentDates": "2023-01-29T16:43:58.336Z",
      "assignedTechnicianIds": [
        "assignedTechnicianIds"
      ],
      "messageCount": 1,
      "shopUnreadMessageCount": 1,
      "totalCostCents": 1,
      "paidCostCents": 1,
      "remainingCostCents": null,
      "partsCents": 1,
      "tiresCents": 1,
      "laborCents": 1,
      "subcontractsCents": 1,
      "epaCents": 1,
      "discountCents": 1,
      "discountPercent": 1,
      "shopSuppliesCents": 1,
      "feesCents": 1,
      "taxCents": 1,
      "gstCents": 1,
      "pstCents": 1,
      "hstCents": 1,
      "workflowStatusId": "workflowStatusId",
      "workflowStatusPosition": 1,
      "taxConfigId": "taxConfigId",
      "dueDate": null,
      "serviceWriterId": null,
      "mileageIn": null,
      "mileageOut": null,
      "conversationId": "conversationId",
      "completedDate": null,
      "deleted": true,
      "deletedUserId": null,
      "deletedDate": null,
      "deletedReason": null,
      "readOnly": true,
      "readOnlyReason": null,
      "deferredServiceCount": 1,
      "statementId": null
    },
    "vehicle": {
      "id": "id",
      "meta": {
        "userId": "userId",
        "sessionId": "sessionId",
        "version": 1
      },
      "createdDate": "createdDate",
      "updatedDate": null,
      "companyId": "companyId",
      "size": "size",
      "type": null,
      "year": null,
      "make": null,
      "makeId": null,
      "model": null,
      "modelId": null,
      "submodel": null,
      "submodelId": null,
      "engine": null,
      "productionDate": null,
      "transmission": null,
      "drivetrain": null,
      "vin": null,
      "color": null,
      "unit": null,
      "mileage": null,
      "mileageUnit": "mileageUnit",
      "odometer": true,
      "licensePlate": null,
      "licensePlateState": null,
      "licensePlateCountry": "licensePlateCountry",
      "note": "note",
      "vcdbVehicleId": null,
      "ownerCount": 1,
      "orderCount": 1,
      "appointmentCount": 1,
      "tirePressureLogCount": 1,
      "mileageLogCount": 1,
      "deferredServiceCount": 1,
      "messageCount": 1,
      "customPhoto": true,
      "stockPhoto": true
    },
    "technicians": [
      {
        "id": "id",
        "createdDate": "createdDate",
        "updatedDate": null,
        "companyId": "companyId",
        "locationId": null,
        "firstName": null,
        "lastName": null,
        "calendarColor": null
      }
    ]
  }
}

GET/v3/appointment

List Appointments

Find all Appointments

Query String parameters

  • Name
    ids
    Type
    array
    Description
  • Name
    limit
    Type
    number
    Description
    the limit on the number of records to return
  • Name
    orderby
    Type
    string
    Description
    the order instructions for the result
  • Name
    params
    Type
    string
    Description
    additional request specific params
  • Name
    skip
    Type
    number
    Description
    the number of records to skip for a paginated result
  • Name
    where
    Type
    string
    Description
    an object to use for filtering the results

Produces

The response content type: application/json

200 Response

  • Name
    data
    Type
    array Required
    Description
    an array of items
  • Name
    meta
    Type
    object
    Description
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Properties for meta object

  • Name
    hasMore
    Type
    boolean Required
    Description
    if there are more records available
  • Name
    total
    Type
    number Required
    Description
    the total number of records

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request

GET
/v3/appointment
curl https://api.shopmonkey.cloud/v3/appointment \
  -H "Authorization: Bearer ${SM_TOKEN}"

Example Response
application/json

{
	"success": true,
	"data": [
		{
			"id": "id",
			"createdDate": "createdDate",
			"updatedDate": null,
			"companyId": "companyId",
			"name": "name",
			"startDate": "startDate",
			"endDate": "endDate",
			"rruleset": null,
			"customerId": null,
			"note": "note",
			"vehicleId": null,
			"orderId": null,
			"color": "color",
			"useEmail": true,
			"useSMS": true,
			"sendConfirmation": true,
			"sendReminder": true,
			"cancelationNote": null,
			"pendingConfirmation": true,
			"confirmed": true,
			"allDay": true,
			"removedFromRecurrency": true,
			"customerEmailId": null,
			"customerPhoneNumberId": null,
			"locationId": "locationId",
			"customer": {
				"id": "id",
				"createdDate": "createdDate",
				"updatedDate": null,
				"companyId": "companyId",
				"customerType": "customerType",
				"firstName": null,
				"lastName": null,
				"companyName": null,
				"address1": null,
				"address2": null,
				"city": null,
				"state": null,
				"country": null,
				"postalCode": null,
				"dotNumber": null,
				"paymentTermId": "paymentTermId",
				"note": "note",
				"marketingOptIn": true,
				"preferredContactMethod": null,
				"referralSourceId": null,
				"taxExempt": true,
				"discountPercent": 1,
				"laborRateId": null,
				"laborMatrixId": null,
				"pricingMatrixId": null,
				"fleetId": null,
				"lastTimeOrderWorked": null,
				"statementCount": 1,
				"transactionCount": 1,
				"deferredServiceCount": 1,
				"appointmentCount": 1,
				"messageCount": 1,
				"customFields": {}
			},
			"order": {
				"id": "id",
				"publicId": "publicId",
				"createdDate": "createdDate",
				"updatedDate": null,
				"companyId": "companyId",
				"locationId": "locationId",
				"number": 1,
				"vehicleId": null,
				"phoneNumberId": null,
				"emailId": null,
				"customerId": null,
				"name": null,
				"generatedName": null,
				"coalescedName": null,
				"complaint": null,
				"recommendation": null,
				"purchaseOrderNumber": null,
				"generatedVehicleName": null,
				"generatedCustomerName": null,
				"orderCreatedDate": "orderCreatedDate",
				"archived": true,
				"authorized": true,
				"authorizedDate": null,
				"invoiced": true,
				"sentToCarfax": true,
				"inspectionStatus": "inspectionStatus",
				"inspectionCount": 1,
				"invoicedDate": null,
				"paid": true,
				"appointmentDates": "2023-01-29T16:43:58.338Z",
				"assignedTechnicianIds": ["assignedTechnicianIds"],
				"messageCount": 1,
				"shopUnreadMessageCount": 1,
				"totalCostCents": 1,
				"paidCostCents": 1,
				"remainingCostCents": null,
				"partsCents": 1,
				"tiresCents": 1,
				"laborCents": 1,
				"subcontractsCents": 1,
				"epaCents": 1,
				"discountCents": 1,
				"discountPercent": 1,
				"shopSuppliesCents": 1,
				"feesCents": 1,
				"taxCents": 1,
				"gstCents": 1,
				"pstCents": 1,
				"hstCents": 1,
				"workflowStatusId": "workflowStatusId",
				"workflowStatusPosition": 1,
				"taxConfigId": "taxConfigId",
				"dueDate": null,
				"serviceWriterId": null,
				"mileageIn": null,
				"mileageOut": null,
				"conversationId": "conversationId",
				"completedDate": null,
				"deleted": true,
				"deletedUserId": null,
				"deletedDate": null,
				"deletedReason": null,
				"readOnly": true,
				"readOnlyReason": null,
				"deferredServiceCount": 1,
				"statementId": null
			},
			"vehicle": {
				"id": "id",
				"createdDate": "createdDate",
				"updatedDate": null,
				"companyId": "companyId",
				"size": "size",
				"type": null,
				"year": null,
				"make": null,
				"makeId": null,
				"model": null,
				"modelId": null,
				"submodel": null,
				"submodelId": null,
				"engine": null,
				"productionDate": null,
				"transmission": null,
				"drivetrain": null,
				"vin": null,
				"color": null,
				"unit": null,
				"mileage": null,
				"mileageUnit": "mileageUnit",
				"odometer": true,
				"licensePlate": null,
				"licensePlateState": null,
				"licensePlateCountry": "licensePlateCountry",
				"note": "note",
				"vcdbVehicleId": null,
				"ownerCount": 1,
				"orderCount": 1,
				"appointmentCount": 1,
				"tirePressureLogCount": 1,
				"mileageLogCount": 1,
				"deferredServiceCount": 1,
				"messageCount": 1,
				"customPhoto": true,
				"stockPhoto": true
			},
			"technicians": [
				{
					"id": "id",
					"createdDate": "createdDate",
					"updatedDate": null,
					"companyId": "companyId",
					"locationId": null,
					"firstName": null,
					"lastName": null,
					"calendarColor": null
				}
			]
		}
	]
}

POST/v3/appointment/search

Search Appointments

Search for Appointments

Body parameters

Consumes

The following content type is required: application/json

  • Name
    limit
    Type
    number
    Description
  • Name
    orderBy
    Type
    object
    Description
  • Name
    skip
    Type
    number
    Description
  • Name
    where
    Type
    object
    Description

Properties for orderBy object

  • Name
    startDate
    Type
    one of: 'asc', 'desc' Required
    Description

Properties for where object

  • Name
    customerId
    Type
    string
    Description
  • Name
    endDate
    Type
    object
    Description
  • Name
    includeUnassigned
    Type
    boolean
    Description
  • Name
    orderId
    Type
    string
    Description
  • Name
    startDate
    Type
    object
    Description
  • Name
    technicians
    Type
    array
    Description

Properties for endDate object

  • Name
    gte
    Type
    string
    Description
  • Name
    lte
    Type
    string
    Description

Properties for startDate object

  • Name
    gte
    Type
    string
    Description
  • Name
    lte
    Type
    string
    Description

Produces

The response content type: application/json

200 Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    array Required
    Description
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if success = false
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request
application/json

POST
/v3/appointment/search
curl https://api.shopmonkey.cloud/v3/appointment/search \
  -H "Authorization: Bearer ${SM_TOKEN}" \
  -H 'Content-Type: application/json' \
  --data '{}'

Example Response
application/json

{
  "success": true,
  "data": [
    {
      "id": "id",
      "createdDate": "createdDate",
      "updatedDate": null,
      "companyId": "companyId",
      "name": "name",
      "startDate": "startDate",
      "endDate": "endDate",
      "duration": null,
      "rruleset": null,
      "customerId": null,
      "note": "note",
      "vehicleId": null,
      "orderId": null,
      "color": "color",
      "useEmail": true,
      "useSMS": true,
      "sendConfirmation": true,
      "sendReminder": true,
      "cancelationNote": null,
      "allDay": true,
      "removedFromRecurrency": true,
      "customerEmailId": null,
      "customerPhoneNumberId": null,
      "locationId": "locationId",
      "confirmationSubject": null,
      "confirmationText": null,
      "reminderSubject": null,
      "reminderText": null,
      "confirmationStatus": "confirmationStatus",
      "customer": {
        "id": "id",
        "createdDate": "createdDate",
        "updatedDate": null,
        "companyId": "companyId",
        "customerType": "customerType",
        "firstName": null,
        "lastName": null,
        "companyName": null,
        "address1": null,
        "address2": null,
        "city": null,
        "state": null,
        "country": null,
        "postalCode": null,
        "dotNumber": null,
        "paymentTermId": null,
        "note": "note",
        "marketingOptIn": true,
        "preferredContactMethod": null,
        "referralSourceId": null,
        "taxExempt": true,
        "discountPercent": 1,
        "laborRateId": null,
        "laborMatrixId": null,
        "pricingMatrixId": null,
        "fleetId": null,
        "lastTimeOrderWorked": null,
        "statementCount": 1,
        "transactionCount": 1,
        "deferredServiceCount": 1,
        "appointmentCount": 1,
        "messageCount": 1,
        "website": null,
        "normalizedFirstName": null,
        "normalizedLastName": null,
        "normalizedName": null,
        "vehicleCount": 1,
        "orderCount": 1,
        "emails": [
          {
            "id": "id",
            "createdDate": "createdDate",
            "updatedDate": null,
            "locationId": "locationId",
            "companyId": "companyId",
            "email": "email",
            "subscribed": true,
            "customerId": "customerId",
            "primary": true
          }
        ],
        "phoneNumbers": [
          {
            "id": "id",
            "createdDate": "createdDate",
            "updatedDate": null,
            "locationId": "locationId",
            "companyId": "companyId",
            "customerId": "customerId",
            "number": "number",
            "extension": null,
            "country": null,
            "type": null,
            "userDefinedType": null,
            "carrierName": null,
            "optInVerifiedDate": null,
            "optIn": true,
            "lastVerifiedDate": null,
            "primary": true,
            "mobileCountryCode": null,
            "mobileNetworkCode": null
          }
        ],
        "customFields": {}
      },
      "order": {
        "id": "id",
        "publicId": "publicId",
        "createdDate": "createdDate",
        "updatedDate": null,
        "companyId": "companyId",
        "locationId": "locationId",
        "number": 1,
        "vehicleId": null,
        "phoneNumberId": null,
        "emailId": null,
        "customerId": null,
        "name": null,
        "generatedName": null,
        "coalescedName": null,
        "complaint": null,
        "recommendation": null,
        "purchaseOrderNumber": null,
        "generatedVehicleName": null,
        "generatedCustomerName": null,
        "orderCreatedDate": "orderCreatedDate",
        "archived": true,
        "authorized": true,
        "authorizedDate": null,
        "invoiced": true,
        "sentToCarfax": true,
        "inspectionStatus": "inspectionStatus",
        "inspectionCount": 1,
        "invoicedDate": null,
        "paid": true,
        "appointmentDates": "2023-07-05T15:06:42.302Z",
        "assignedTechnicianIds": [
          "assignedTechnicianIds"
        ],
        "messageCount": 1,
        "shopUnreadMessageCount": 1,
        "totalCostCents": 1,
        "paidCostCents": 1,
        "remainingCostCents": null,
        "partsCents": 1,
        "tiresCents": 1,
        "laborCents": 1,
        "subcontractsCents": 1,
        "epaCents": 1,
        "discountCents": 1,
        "discountPercent": 1,
        "shopSuppliesCents": 1,
        "feesCents": 1,
        "taxCents": 1,
        "gstCents": 1,
        "pstCents": 1,
        "hstCents": 1,
        "transactionalFeeTotalCents": 1,
        "transactionalFeeSubtotalCents": 1,
        "workflowStatusId": "workflowStatusId",
        "workflowStatusPosition": 1,
        "workflowStatusDate": "workflowStatusDate",
        "taxConfigId": "taxConfigId",
        "transactionFeeConfigId": null,
        "dueDate": null,
        "serviceWriterId": null,
        "mileageIn": null,
        "mileageOut": null,
        "conversationId": null,
        "completedDate": null,
        "deleted": true,
        "deletedUserId": null,
        "deletedDate": null,
        "deletedReason": null,
        "readOnly": true,
        "readOnlyReason": null,
        "deferredServiceCount": 1,
        "statementId": null,
        "fullyPaidDate": null,
        "messagedDate": null,
        "paymentTermId": "paymentTermId",
        "paymentDueDate": null,
        "allowCollectPayment": true,
        "allowCustomerAuthorization": true,
        "allowCustomerESign": true,
        "allowCustomerViewMessages": true,
        "allowCustomerViewAuthorizations": true,
        "allowCustomerViewActivity": true
      },
      "vehicle": {
        "id": "id",
        "createdDate": "createdDate",
        "updatedDate": null,
        "companyId": "companyId",
        "size": "size",
        "type": null,
        "year": null,
        "make": null,
        "makeId": null,
        "model": null,
        "modelId": null,
        "submodel": null,
        "submodelId": null,
        "engine": null,
        "productionDate": null,
        "transmission": null,
        "drivetrain": null,
        "vin": null,
        "color": null,
        "unit": null,
        "mileage": null,
        "mileageUnit": "mileageUnit",
        "odometer": true,
        "licensePlate": null,
        "licensePlateState": null,
        "licensePlateCountry": "licensePlateCountry",
        "note": "note",
        "vcdbVehicleId": null,
        "ownerCount": 1,
        "orderCount": 1,
        "appointmentCount": 1,
        "tirePressureLogCount": 1,
        "mileageLogCount": 1,
        "deferredServiceCount": 1,
        "messageCount": 1,
        "computed_ymm": null,
        "customPhoto": true,
        "stockPhoto": true
      },
      "technicians": [
        {
          "id": "id",
          "createdDate": "createdDate",
          "updatedDate": null,
          "companyId": "companyId",
          "active": true,
          "requirePasswordChange": true,
          "laborRateId": null,
          "locationId": null,
          "firstName": "firstName",
          "lastName": "lastName",
          "email": "email",
          "phone": null,
          "color": "color"
        }
      ],
      "reminders": [
        {
          "id": "id",
          "createdDate": "createdDate",
          "updatedDate": null,
          "companyId": "companyId",
          "type": "type",
          "value": 1,
          "appointmentId": "appointmentId",
          "createdByUserId": "createdByUserId",
          "jobInstanceId": null
        }
      ],
      "appointmentConfirmationDeliveries": [
        {
          "id": "id",
          "createdDate": "createdDate",
          "updatedDate": null,
          "companyId": "companyId",
          "locationId": "locationId",
          "appointmentId": "appointmentId"
        }
      ],
      "appointmentReminderDeliveries": [
        {
          "id": "id",
          "createdDate": "createdDate",
          "updatedDate": null,
          "companyId": "companyId",
          "locationId": "locationId",
          "appointmentId": "appointmentId",
          "reminderId": "reminderId"
        }
      ]
    }
  ]
}

PUT/v3/appointment/:id

Update

Update one by id

URL parameters

  • Name
    id
    Type
    string Required
    Description
    the id for the object to update

Body parameters

Consumes

The following content type is required: application/json

  • Name
    name
    Type
    string
    Description
    name of the appointment like 'Oil change'
  • Name
    startDate
    Type
    string
    Description
    start date and time of the appointment
  • Name
    endDate
    Type
    string
    Description
    end date and time of the appointment
  • Name
    rruleset
    Type
    string
    Description
  • Name
    customerId
    Type
    string
    Description
  • Name
    note
    Type
    string
    Description
    notes for the appointment
  • Name
    vehicleId
    Type
    string
    Description
  • Name
    orderId
    Type
    string
    Description
  • Name
    color
    Type
    one of: aqua, black, blue, brown, gray, green, orange, purple, red, yellow
    Description
  • Name
    useEmail
    Type
    boolean
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    useSMS
    Type
    boolean
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    sendConfirmation
    Type
    boolean
    Description
    Send confirmation notification at the moment of saving the appointment
  • Name
    sendReminder
    Type
    boolean
    Description
    Send reminder will send a notification at some user-specified times before the appointment using scheduler
  • Name
    cancellationNote
    Type
    string
    Description
    if the appointment was canceled
  • Name
    allDay
    Type
    boolean
    Description
  • Name
    removedFromRecurrency
    Type
    boolean
    Description
  • Name
    customerEmailId
    Type
    string
    Description
  • Name
    customerPhoneNumberId
    Type
    string
    Description
  • Name
    confirmationSubject
    Type
    string
    Description
  • Name
    confirmationText
    Type
    string
    Description
  • Name
    reminderSubject
    Type
    string
    Description
  • Name
    reminderText
    Type
    string
    Description
  • Name
    chatBotSessionId
    Type
    string
    Description
    if the appointment was created via a chatbot session, this will be the related session
  • Name
    confirmationStatus
    Type
    one of: Confirmed, Declined, NoResponse
    Description
  • Name
    origin
    Type
    one of: Shop, HQ, AppointmentScheduler
    Description
  • Name
    technicianIds
    Type
    array
    Description
  • Name
    reminders
    Type
    array
    Description
  • Name
    requestAppointmentConfirmation
    Type
    boolean
    Description
    true if should request appointment confirmation/cancellation by customer
  • Name
    sendRescheduleConfirmation
    Type
    boolean
    Description
    true if should send message for appointment rescheduled

Produces

The response content type: application/json

200 Response

  • Name
    data
    Type
    object
    Description
  • Name
    success
    Type
    boolean Required
    Description

Properties for data object

  • Name
    id
    Type
    string Required
    Description
    the id for the object

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request
application/json

PUT
/v3/appointment/:id
curl https://api.shopmonkey.cloud/v3/appointment/:id \
  -H "Authorization: Bearer ${SM_TOKEN}" \
  -X PUT -H 'Content-Type: application/json' \
  --data '{}'

Example Response
application/json

{
  "success": true
}

POST/v3/appointment

Create

Create an

Body parameters

Consumes

The following content type is required: application/json

  • Name
    name
    Type
    string Required
    Description
    name of the appointment like 'Oil change'
  • Name
    startDate
    Type
    string Required
    Description
    start date and time of the appointment
  • Name
    endDate
    Type
    string Required
    Description
    end date and time of the appointment
  • Name
    rruleset
    Type
    string
    Description
  • Name
    customerId
    Type
    string
    Description
  • Name
    note
    Type
    string
    Description
    notes for the appointment
  • Name
    vehicleId
    Type
    string
    Description
  • Name
    orderId
    Type
    string
    Description
  • Name
    color
    Type
    one of: aqua, black, blue, brown, gray, green, orange, purple, red, yellow Required
    Description
  • Name
    useEmail
    Type
    boolean
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    useSMS
    Type
    boolean
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    sendConfirmation
    Type
    boolean
    Description
    Send confirmation notification at the moment of saving the appointment
  • Name
    sendReminder
    Type
    boolean
    Description
    Send reminder will send a notification at some user-specified times before the appointment using scheduler
  • Name
    cancellationNote
    Type
    string
    Description
    if the appointment was canceled
  • Name
    allDay
    Type
    boolean
    Description
  • Name
    removedFromRecurrency
    Type
    boolean
    Description
  • Name
    customerEmailId
    Type
    string
    Description
  • Name
    customerPhoneNumberId
    Type
    string
    Description
  • Name
    confirmationSubject
    Type
    string
    Description
  • Name
    confirmationText
    Type
    string
    Description
  • Name
    reminderSubject
    Type
    string
    Description
  • Name
    reminderText
    Type
    string
    Description
  • Name
    chatBotSessionId
    Type
    string
    Description
    if the appointment was created via a chatbot session, this will be the related session
  • Name
    confirmationStatus
    Type
    one of: Confirmed, Declined, NoResponse
    Description
  • Name
    origin
    Type
    one of: Shop, HQ, AppointmentScheduler
    Description
  • Name
    technicianIds
    Type
    array
    Description
  • Name
    reminders
    Type
    array
    Description

Produces

The response content type: application/json

200 Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if success = false
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message
  • Name
    data
    Type
    object Required
    Description
    Appointment schema

Properties for data object

  • Name
    id
    Type
    string Required
    Description
  • Name
    publicId
    Type
    string Required
    Description
  • Name
    createdDate
    Type
    string Required
    Description
    Date and time when this appointment was created
  • Name
    updatedDate
    Type
    string Required
    Description
  • Name
    companyId
    Type
    string Required
    Description
  • Name
    name
    Type
    string Required
    Description
    name of the appointment like 'Oil change'
  • Name
    startDate
    Type
    string Required
    Description
    start date and time of the appointment
  • Name
    endDate
    Type
    string Required
    Description
    end date and time of the appointment
  • Name
    duration
    Type
    integer Required
    Description
    the calculated duration
  • Name
    rruleset
    Type
    string Required
    Description
  • Name
    customerId
    Type
    string Required
    Description
  • Name
    note
    Type
    string Required
    Description
    notes for the appointment
  • Name
    vehicleId
    Type
    string Required
    Description
  • Name
    orderId
    Type
    string Required
    Description
  • Name
    color
    Type
    one of: aqua, black, blue, brown, gray, green, orange, purple, red, yellow Required
    Description
  • Name
    useEmail
    Type
    boolean Required
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    useSMS
    Type
    boolean Required
    Description
    In case we want to use email to send confirmation and/or reminder
  • Name
    sendConfirmation
    Type
    boolean Required
    Description
    Send confirmation notification at the moment of saving the appointment
  • Name
    sendReminder
    Type
    boolean Required
    Description
    Send reminder will send a notification at some user-specified times before the appointment using scheduler
  • Name
    cancellationNote
    Type
    string Required
    Description
    if the appointment was canceled
  • Name
    allDay
    Type
    boolean Required
    Description
  • Name
    removedFromRecurrency
    Type
    boolean Required
    Description
  • Name
    customerEmailId
    Type
    string Required
    Description
  • Name
    customerPhoneNumberId
    Type
    string Required
    Description
  • Name
    locationId
    Type
    string Required
    Description
  • Name
    confirmationSubject
    Type
    string Required
    Description
  • Name
    confirmationText
    Type
    string Required
    Description
  • Name
    reminderSubject
    Type
    string Required
    Description
  • Name
    reminderText
    Type
    string Required
    Description
  • Name
    chatBotSessionId
    Type
    string Required
    Description
    if the appointment was created via a chatbot session, this will be the related session
  • Name
    confirmationStatus
    Type
    one of: Confirmed, Declined, NoResponse Required
    Description
  • Name
    origin
    Type
    one of: Shop, HQ, AppointmentScheduler Required
    Description

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request
application/json

POST
/v3/appointment
curl https://api.shopmonkey.cloud/v3/appointment \
  -H "Authorization: Bearer ${SM_TOKEN}" \
  -H 'Content-Type: application/json' \
  --data '{ "name" : "value", "startDate" : "value", "endDate" : "value", "color" : "value" }'

Example Response
application/json

{
  "success": true,
  "data": {
    "name": "name",
    "startDate": "startDate",
    "endDate": "endDate",
    "rruleset": null,
    "customerId": null,
    "note": "note",
    "vehicleId": null,
    "orderId": null,
    "color": "color",
    "useEmail": true,
    "useSMS": true,
    "sendConfirmation": true,
    "sendReminder": true,
    "cancelationNote": null,
    "pendingConfirmation": true,
    "confirmed": true,
    "allDay": true,
    "removedFromRecurrency": true,
    "customerEmailId": null,
    "customerPhoneNumberId": null,
    "locationId": "locationId"
  }
}

DELETE/v3/appointment/:id

Delete Appointment

Permanently delete a Appointment by id

URL parameters

  • Name
    id
    Type
    string Required
    Description
    the id of the record to delete

Produces

The response content type: application/json

200 Response

  • Name
    data
    Type
    object
    Description
  • Name
    success
    Type
    boolean Required
    Description

Properties for data object

  • Name
    id
    Type
    string Required
    Description
    the id for the object

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request
application/json

DELETE
/v3/appointment/:id
curl https://api.shopmonkey.cloud/v3/appointment/:id \
  -H "Authorization: Bearer ${SM_TOKEN}" \
  -X DELETE -H 'Content-Type: application/json' \
  --data '{}'

Example Response
application/json

{
  "success": true
}

PATCH/v3/shared_appointment/:publicId/confirm

Confirm an Appointment

Confirm an Appointment

URL parameters

  • Name
    publicId
    Type
    string Required
    Description
    The unique public appointment identifier

Produces

The response content type: application/json

200 Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if success = false
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message
  • Name
    data
    Type
    object Required
    Description

Properties for data object

  • Name
    confirmationStatus
    Type
    one of: Confirmed, Declined, NoResponse Required
    Description
  • Name
    customerPublicId
    Type
    string Required
    Description
  • Name
    locationId
    Type
    string Required
    Description
  • Name
    name
    Type
    string Required
    Description
  • Name
    orderCoalescedName
    Type
    string Required
    Description
  • Name
    startDate
    Type
    string Required
    Description

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request
application/json

PATCH
/v3/shared_appointment/:publicId/confirm
curl https://api.shopmonkey.cloud/v3/shared_appointment/:publicId/confirm \
  -H "Authorization: Bearer ${SM_TOKEN}" \
  -X PATCH -H 'Content-Type: application/json' \
  --data '{}'

Example Response
application/json

{
  "success": true,
  "data": {
    "confirmationStatus": "confirmationStatus",
    "locationId": "locationId",
    "name": "name",
    "orderCoalescedName": null,
    "startDate": "startDate"
  }
}

PATCH/v3/shared_appointment/:publicId/cancel

Cancel an Appointment

Cancel an Appointment

URL parameters

  • Name
    publicId
    Type
    string Required
    Description
    The unique public appointment identifier

Body parameters

Consumes

The following content type is required: application/json

  • Name
    cancellationNote
    Type
    string
    Description
    Cancelation note for appointment

Produces

The response content type: application/json

200 Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if success = false
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message
  • Name
    data
    Type
    object Required
    Description

Properties for data object

  • Name
    confirmationStatus
    Type
    one of: Confirmed, Declined, NoResponse Required
    Description
  • Name
    customerPublicId
    Type
    string Required
    Description
  • Name
    locationId
    Type
    string Required
    Description
  • Name
    name
    Type
    string Required
    Description
  • Name
    orderCoalescedName
    Type
    string Required
    Description
  • Name
    startDate
    Type
    string Required
    Description

4xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

5xx Response

  • Name
    code
    Type
    string
    Description
    The error code
  • Name
    data
    Type
    object
    Description
    An optional object containing relevant error data
  • Name
    documentation_url
    Type
    string
    Description
    An optional link to the documentation for the error
  • Name
    message
    Type
    string
    Description
    the error message if not successful
  • Name
    success
    Type
    boolean Required
    Description
    if successful, will be true. if not successful, will be false and message will contain a human readable error message

Example Request
application/json

PATCH
/v3/shared_appointment/:publicId/cancel
curl https://api.shopmonkey.cloud/v3/shared_appointment/:publicId/cancel \
  -H "Authorization: Bearer ${SM_TOKEN}" \
  -X PATCH -H 'Content-Type: application/json' \
  --data '{}'

Example Response
application/json

{
  "success": true,
  "data": {
    "confirmationStatus": "confirmationStatus",
    "locationId": "locationId",
    "name": "name",
    "orderCoalescedName": null,
    "startDate": "startDate"
  }
}