Overview

Drivly’s Scheduled Maintenance API simplifies the complex process of managing vehicle maintenance services, offering a straightforward solution for obtaining quotes and placing orders.


Workflows

The Scheduled Maintenance API facilitates two primary functions, Quote Maintenance and Order Maintenance for all scheduled maintenance types.

Quote Maintenance

Obtain accurate quotes for scheduled maintenance services and repairs.

Order Maintenance

Place orders for scheduled maintenance services, ensuring vehicles are quickly brought up to your standards.


Typical Progression

Lets go over the typical progression of a maintenance service order. While these steps are typical, there may be issues, delays, or other factors that can affect the progression of your service order.

If any problems arise, the service order’s status will be updated to either delayed or canceled, and you will be notified of the issue via email and webhook.

1

After work has started

We’ll switch the status to in-progress as an indication that work has started. During this time, our team may find further issues that they can fix. You can configure the service to pre-authorize a certain amount for these additional services. However, due to the nature of the work, you must authorize ahead of time.

2

An issue is found

While working on the vehicle, its possible that our team may find issues such as a worn-out belt or a leaky hose.

Depending on your configuration, we may automatically authorize a certain amount to fix these issues. If the amount is above the pre-authorized amount, we will notify you that the issue is present, but wont act on it until you request a maintenance order.

3

Work is completed

Once the service is completed, the service order will be updated to reflect the status of the service.

After work is completed, the service order will be updated to include the status of the service, moving from in-progress to completed.

Webhooks

service.created - This event is triggered when a service order is created, providing you with the details of the order:

{
  "event": "service.created",
  "type": "scheduled-maintenance",
  "data": {
    "id": "order_mkJ7cEOnb3YcAf",
    "status": "pending", // pending, in-progress, completed, delayed, canceled
    "estimatedTime": "2024-01-01T12:00:00Z",
    // There is no checkout / receipt link for scheduled maintenance
    "total": 190,
    "items": [
      {
        "service": "scheduled-maintenance",
        "price": 50,
        "name": "Oil Change",
        "description": "oil-change",
        "quantity": 1
      },
      {
        "service": "scheduled-maintenance",
        "price": 25,
        "name": "Tire Rotation",
        "description": "tire-rotation",
        "quantity": 4
      },
      {
        "service": "scheduled-maintenance",
        "price": 10,
        "name": "Brake Inspection",
        "description": "brake-inspection",
        "quantity": 4
      }
    ],
    "history": [
      // An Array to show the keys changed and when
      {
        "status": "pending",
        "paid": true,
        "time": "2024-01-01T12:00:00Z"
      }
    ]
  }
}

service.updated - This event is triggered when a service order is updated, providing you with the updated details of the order:

service.completed - This event is triggered when a service order is completed, providing you with the final details of the order:

{
  "event": "service.completed",
  "type": "scheduled-maintenance",
  "data": {
    "id": "order_cuRxvZfmcgAchV",
    "status": "completed",
    "estimatedTime": null,
    "total": 375,
    "items": [
      {
        "service": "scheduled-maintenance",
        "price": 50,
        "name": "Oil Change",
        "description": "oil-change",
        "quantity": 1
      },
      {
        "service": "scheduled-maintenance",
        "price": 25,
        "name": "Tire Rotation",
        "description": "tire-rotation",
        "quantity": 4
      },
      {
        "service": "scheduled-maintenance",
        "price": 10,
        "name": "Brake Inspection",
        "description": "brake-inspection",
        "quantity": 4
      },
      {
        "service": "scheduled-maintenance",
        "price": 100,
        "name": "Worn Belt",
        "description": "worn-belt",
        "quantity": 1
      },
      {
        "service": "scheduled-maintenance",
        "price": 25,
        "name": "Leaky Hose",
        "description": "leaky-hose",
        "quantity": 1
      },
      {
        "service": "scheduled-maintenance",
        "price": 60,
        "name": "Faulty Sensor",
        "description": "faulty-sensor",
        "quantity": 1
      }
    ],
    "history": [
      {
        "status": "pending",
        "paid": true,
        "time": "2024-01-01T12:00:00Z"
      },
      {
        "status": "in-progress",
        "time": "2024-01-02T12:00:00Z"
      },
      {
        "status": "completed",
        "time": "2024-01-03T12:00:00Z"
      }
    ]
  }
}

Next Steps

Ready to get started with Scheduled Maintenance API?