POST /concierge-loaner-moves
Swap your customer's vehicle for a loaner and bring theirs in for service.
Our driver will always arrive at the service center first to pickup a vehicle. The type of vehicle they will be delivering to the customer is determined by the customer action type.
Don't know what loaner vehicle will be used yet? No worries, the loaner vehicle information can be omitted from your request.
Example Request
{
"rooftop": 42,
"third_party_payer": 9,
"appointment_time_utc": "2022-03-25T14:00:00Z",
"customer_name": "Harry Stevens",
"customer_phone": "888-888-8888",
"customer_action": "pickup",
"duplicate_check": "reference_num",
"loaner_move": {
"dealer_contact": "Jane Smith",
"special_instructions": "Loaner will be issued on arrival",
"vehicle": {
"stock": "LOAN01"
},
"pickup_location": {
"name": "Denny's Automobiles",
"address_one": "11161 Research Plaza Way",
"city": "Richmond",
"state": "VA",
"zip": "23236"
},
"config": {
"hide_service_location": false
},
"workflowset_id": 3,
"pickup_workflow_data": {
"additional_field": "Hello World!"
},
"delivery_workflow_data": {
"additional_field": "Hello World!"
}
},
"customer_move": {
"reference_num": "RO# 12345",
"dealer_contact": "Jane Smith",
"special_instructions": "Vehicle parked in spot 13C",
"vehicle": {
"stock": "BK0018",
"vin": "5GAKRBED5BJ262438",
"year": "2011",
"make": "Buick",
"model": "Enclave",
"color": "White",
"manual": false
},
"pickup_location": {
"name": "210 S Mulberry St",
"address_one": "210 S Mulberry St",
"city": "Richmond",
"state": "VA",
"zip": "23220"
},
"config": {
"hide_service_location": false
},
"workflowset_id": 3,
"pickup_workflow_data": {
"additional_field": "Hello World!"
},
"delivery_workflow_data": {
"additional_field": "Hello World!"
}
}
}
Body Params
Field | Type | Required? | Description |
---|---|---|---|
rooftop | Number | Optional | For users configured as dealer admins with the ability to create moves for multiple rooftops. Specify the id of the rooftop you wish to create the move for. |
third_party_payer | Number | Optional | For users configured with third party payer accounts. This allows the move to be assigned to a different invoice than the rooftop specified. Use the /Payers endpoint to get a valid list of possible payers. API users' accounts can be configured to make this field required or to give this field a default value. |
appointment_time_utc | String | Required | The date and time in YYYY-MM-DD hh:mm:ss format, using UTC/Zulu time. Reference. |
duplicate_check | String | Optional | Prevent duplicating an in-progress move (already in the system) by specifying a field to check. Supports "reference_num", "vehicle_stock" and "vehicle_vin". |
customer_name | String | Required | The name of the customer whose vehicle is being moved. |
customer_phone | String | Optional | The phone number of the customer (automated SMS updates will be sent to this number if provided). |
customer_action | String | Required | The type of concierge move being performed, either "pickup" or "return" (customer action types). |
reference_num | String | Optional | Internal reference ID, such as a repair order #. |
dealer_contact | String | Optional | Point of contact for our driver when arriving at the service location. |
special_instructions | String | Optional | Additional information, such as where to park or a number to call upon arrival. |
stock | String | Optional | Internal stock number associated with the vehicle. |
vin | String | Optional | Vehicle Identification Number associated with the vehicle. |
year | String | Optional | Year the vehicle was manufactured. |
make | String | Required* | The make of the vehicle (e.g., "Ford"), *for loaner vehicles this can be left blank. |
model | String | Required* | The model of the vehicle (e.g., "F-150"), *for loaner vehicles this can be left blank. |
color | String | Optional | The color of the vehicle. |
manual | Boolean | Required | Whether or not the vehicle's transmission is manual (true) or automatic (false). |
name | String | Optional | Name associated with the location. |
full_address | String | Optional | The full address string of the location (Address pieces are no longer required if this field has a value). |
address_one | String | Required* | The street address of the location. |
address_two | String | Optional | Optional sub-address of the location. |
city | String | Required* | The city that the location address is associated with. |
state | String | Required* | The state that the location address is associated with. |
zip | String | Optional | The 5-digit Zip Code that the location address is associated with. |
hide_service_location | String | Optional | Config option. Don't show the service/delivery location to your customer (true) or allow them to see the name and address (false) - defaults to false. |
pickup_workflow_data | Object | Optional | A single level deep object with name value pairs of placeholder values to preload in fields of the custom workflow defined by the workflowset |
delivery_workflow_data | Object | Optional | A single level deep object with name value pairs of placeholder values to preload in fields of the custom workflow defined by the workflowset |
workflowset_id | Number | Optional | Id of a workflow set (combination pickup and delivery workflows) to apply to this move. Talk with your dispatcher to setup custom workflows. If nothing is passed here, the default workflows will be used. |
Customer Action Types
pickup
- (Customer's vehicle is at their location) We'll first pick up the loaner vehicle from the service lot and deliver it to the customer's address, then we'll bring their vehicle back to the service lot.return
- (Customer's vehicle is at service center) We'll first pick up your customer's vehicle from the service lot and deliver it to their address, then we'll bring the loaner vehicle back to the service lot.
Request Object Structure
{
appointment_time_utc,
duplicate_check,
customer_name,
customer_phone,
customer_action,
loaner_move: {
reference_num,
dealer_contact,
special_instructions,
vehicle: { // optional
stock, // optional
vin, // optional
year, // optional
make, // optional
model, // optional
color, // optional
manual // optional
},
pickup_location: {
name,
full_address,
address_one,
address_two,
city,
state,
zip
},
config: {
hide_service_location
},
workflowset_id,
pickup_workflow_data: {
additional_field
},
delivery_workflow_data: {
additional_field
},
},
customer_move: {
reference_num,
dealer_contact,
special_instructions,
pickup_template,
delivery_template,
vehicle: {
stock,
vin,
year,
make,
model,
color,
manual
},
pickup_location: {
name,
full_address,
address_one,
address_two,
city,
state,
zip
},
config: {
hide_service_location
},
workflowset_id,
pickup_workflow_data: {
additional_field
},
delivery_workflow_data: {
additional_field
},
}
}
Example Response
For additional information, see the response section.
{
"appointment_time_utc": "2022-03-25T14:00:00Z",
"move_one_earliest_available_time": "2022-03-25T14:00:00Z",
"move_two_earliest_available_time": "2022-03-25T14:30:00Z",
"customer_name": "Harry Stevens",
"customer_phone": "888-888-8888",
"customer_action": "pickup",
"loaner_move": {
"move_id": 10052,
"status": null,
"cancel_status": null,
"pickup_started": null,
"pickup_arrived": null,
"pickup_successful": null,
"delivery_started": null,
"delivery_arrived": null,
"delivery_successful": null,
"tracking_link": null,
"move_uri": "https://api.hopdrive.com/v1/moves/10052",
"lane_uri": "https://api.hopdrive.com/v1/lanes/6781",
"reference_num": null,
"dealer_contact": "Jane Smith",
"special_instructions": "Loaner will be issued on arrival",
"vehicle": {
"stock": "LOAN01",
"vin": null,
"year": null,
"make": null,
"model": null,
"color": null,
"manual": false
},
"pickup_location": {
"name": "Denny's Automobiles",
"address_one": "11161 Research Plaza Way",
"city": "Richmond",
"state": "VA",
"zip": "23236",
"lat": 37.5050257,
"lon": -77.6013313,
"google_place_id": "ChIJkxCQwnBtsYkR1QqrxNduupo",
"location_id": 2246,
"full_address": "11161 Research Plaza Way, Richmond, VA 23236, USA"
},
"config": {
"hide_service_location": false
},
"workflowset_id": 3,
"pickup_workflow_data": {
"additional_field": "Hello World!"
},
"delivery_workflow_data": {
"additional_field": "Hello World!"
}
},
"customer_move": {
"move_id": 10053,
"status": null,
"cancel_status": null,
"pickup_started": null,
"pickup_arrived": null,
"pickup_successful": null,
"delivery_started": null,
"delivery_arrived": null,
"delivery_successful": null,
"tracking_link": null,
"move_uri": "https://api.hopdrive.com/v1/moves/10053",
"lane_uri": "https://api.hopdrive.com/v1/lanes/6781",
"reference_num": "RO# 12345",
"dealer_contact": "Jane Smith",
"special_instructions": "Vehicle parked in spot 13C",
"vehicle": {
"stock": "BK0018",
"vin": "5GAKRBED5BJ262438",
"year": "2011",
"make": "Buick",
"model": "Enclave",
"color": "White",
"manual": false
},
"pickup_location": {
"name": "210 S Mulberry St",
"address_one": "210 S Mulberry St",
"city": "Richmond",
"state": "VA",
"zip": "23220",
"lat": 37.5500942,
"lon": -77.475998,
"google_place_id": "EioyMTAgUyBNdWxiZXJyeSBTdCwgUmljaG1vbmQsIFZBIDIzMjIwLCBVU0EiGxIZChQKEgkvOB-B4xOxiRGtaNzxgEUxRBDSAQ",
"location_id": 343,
"full_address": "210 S Mulberry St, Richmond, VA 23220, USA"
},
"config": {
"hide_service_location": false
},
"workflowset_id": 3,
"pickup_workflow_data": {
"additional_field": "Hello World!"
},
"delivery_workflow_data": {
"additional_field": "Hello World!"
}
}
}