Skip to main content

Appointments

Stage service appointments before creating moves

Appointments are staging records that allow you to register upcoming service appointments in HopDrive before a transportation type has been selected. Once a customer elects a HopDrive service, the appointment is upgraded and HopDrive handles move creation internally.

Requests made to this endpoint require an authorization header using your authentication token.

How it works

  1. Create an appointment with POST /v1/appointments as soon as you have appointment data, even if the pickup address or other details are incomplete.
  2. Replace or upgrade the appointment with PUT /v1/appointments/:id to fully replace all mutable fields, including electing a transportation type.
  3. Partially update the appointment with PATCH /v1/appointments/:id to modify specific fields without affecting others.

Appointment Lifecycle

Appointments progress through the following states:

StatusDescription
newRecord created. Initial state after POST.
pendingFlagged for resolution — missing or invalid data (e.g., no pickup address).
readyTransportation type elected. HopDrive begins internal move staging.
payingConsumer payment in progress (consumer-pay path only).
paidPayment complete. Move creation triggered internally.
canceledAppointment canceled.
refundedPayment refunded after cancellation.
failedPayment or processing failure.

Your integration covers the newready transition. All subsequent state changes are handled internally by HopDrive.

Supported Transportation Types

When upgrading an appointment via PUT, provide one of the following transportation_type values:

ValueDescription
valetDriver picks up the vehicle from the consumer and delivers it to the dealership.
mobile_serviceMobile service van dispatched to the consumer's location.
shuttleDealer shuttle route management.
rideshareThird-party rideshare coordination.

Update Restrictions

Appointments in a terminal state (canceled, refunded, failed) or with a past appointment time cannot be modified via PUT or PATCH.

When an appointment reaches ready, paying, or paid status, move staging has begun. At that point, only the following fields can be modified via PATCH:

  • consumer_name, consumer_phone, driver_notes, config

Location, vehicle, and scheduling fields are frozen once staging begins.

Handling Incomplete Data

You should create an appointment even if data is incomplete or the pickup address is unavailable. Appointments with missing required data will be flagged as pending and surfaced to the dealer for resolution. No move will be created from an unresolved appointment.