Skip to main content

Charge Object

A successful GET from the moves endpoint will return the moves object with the addition of the charge object if there is an associated charge. The charge object will include all the charge details associated with the move. Until the move is marked as settled (see move object), a charge can be added or changed.

The charge object is assembled from the accounts-receivable (AR) system, which is mid-migration to a new data model. The charge is served by exactly one model, selected by the type of the invoice the move is on: moves on standard and rideshare invoices are served from the legacy model, and moves on all other invoice types are served from the new model. In the new model, billing is recorded as individual line items (details) plus any credits applied to them, and the charge-level status, due_amount, paid_amount, discount_amount, and balance_remaining are derived from those line items, the credits applied to them, and any payments received. When a move has no associated charge yet, an empty object ({}) is returned.

For unsuccessful requests, please refer to Error Handling and Error Codes.

Example Object

200 /v1/moves/12904
{
"move": {
"vehicle": [object]
},
"pickup_location": [object],
"delivery_location": [object],
"pickup_photos": [array],
"delivery_photos": [array],
"charge":{
"invoice_id": 85788,
"type": "move",
"status": "paid",
"disputed": false,
"dispute_reason": "description...",
"discount_amount": 12.00,
"discount_reason": "description...",
"due_amount": 45.01,
"paid_amount": 45.01,
"balance_remaining": 0,
"details": [
{
"name": "Transport",
"amount": 44.87,
"notes": "Standard transport cost of move",
"mileage_band": null
},
{
"name": "Surge",
"amount": 0.14,
"notes": "uber ride service",
"mileage_band": null
},
{
"name": "Fuel",
"amount": 15.82,
"notes": "We calculated 2.32 gallons of gas required based on the estimated MPG, fuel level at vehicle pickup, and target fuel level at delivery.",
"mileage_band": null
}
]
}
}

Note: mileage_band (the rate/mileage band that priced the line item) is not stored on the charge line item in the new AR system; it is rebuilt from the band recorded when the charge was created, so it is populated for mileage-priced move transport lines and null for line items with no band (e.g. accessorials, ridehails, and fees). The disputed and dispute_reason fields are retained for compatibility but are not currently tracked by the AR system (disputed is always false, dispute_reason is always null). discount_amount is the total of all credits applied to the charge; a single charge-level discount_reason is no longer provided and is returned as null.

Response Field Descriptions

FieldTypeDescription
idNumberThe unique identifier of the charge.
invoice_idNumberThe identifier of the invoice associated with the charges.
typeStringThe type of the charge:
fee - An additional charge added to the invoice. This is usually a credit card transaction fee.
move - A charge that is related to a move.
one-time - A one-time charge (i.e. onboarding fee).
prepaid - The charge related to prepaid product move packages.
statusStringThe status of the charge:
unpaid - The initial status of an invoice that stays until partial or full payment has been received.
partial - The status used when a partial payment has been received that leaves a balance due.
paid - The final status that indicates the full payment has been received.
overpaid - Payments received exceed the net amount due.
disputedBooleanIndicates whether the charge is disputed.
dispute_reasonStringThe reason for the dispute (if applicable).
discount_amountNumberThe discount amount applied to the charge.
discount_reasonStringThe reason for the discount (if applicable).
nameStringThe name/type of the charge detail:
delay - The charge if a driver was delayed during the move (i.e. vehicle was not ready, paperwork not ready, etc)
fuel - The charge applied when the driver had to add fuel to the vehicle to complete the move.
insurance - The charge for a move that required an additional insurance charge outside of the standard insurance rate.
partial - The charge for a move that was canceled after the driver was already dispatched.
ride - The charge when a move requires an additional ride. This usually occurs when a move has been canceled when the driver was already dispatched and the driver needs to get to their next destination.
surge - The charge for surge pricing for rideshare.
toll - The charge applied if there was a toll paid during the move.
tow - The charge applied if a tow was required due to issues with the vehicle.
amountNumberThe amount of the charge detail.
notesStringAdditional notes or description for the charge detail.
documentsArrayAn array of documents associated with the charge detail.
rateNumberThe rate of the mileage band.
typeStringThe type of the mileage band:
flat - A flat rate for the mileage band.
per - A rate based on per miles traveled.
classStringThe class of the mileage band:
base - applies to moves for which no external return ride to the origin is required.
stranded - applies to moves for which an external return ride to the origin is required.
stranded_x2, stranded_x3, etc. - if specified in your contract, indicates rates for stranded moves that were able to be grouped together for efficiency (x2 = two moves grouped, x3 = three moves grouped, etc.).
distance_startNumberThe starting distance of the mileage band.
distance_endNumberThe ending distance of the mileage band.
begin_dateStringThe start date of the contract.
end_dateStringThe end date of the contract.
workflowset_idNumberThe id of the workflow set of the contract.