> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://api-docs.zippd.com/llms.txt.
> For full documentation content, see https://api-docs.zippd.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api-docs.zippd.com/_mcp/server.

# Get a Quote

POST https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote
Content-Type: application/json

Retrieve prices for a vehicle hire order without placing an actual order. This endpoint will return prices for all available vehicles.

Reference: https://api-docs.zippd.com/orders-vehicle-hire/post-orders-vehicle-hire-quote

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /orders/vehicle-hire/quote:
    post:
      operationId: post-orders-vehicle-hire-quote
      summary: Get a Quote
      description: >-
        Retrieve prices for a vehicle hire order without placing an actual
        order. This endpoint will return prices for all available vehicles.
      tags:
        - subpackage_ordersVehicleHire
      parameters:
        - name: Authorization
          in: header
          description: ''
          required: true
          schema:
            type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Orders - Vehicle
                  Hire_post-orders-vehicle-hire-quote_Response_201
        '422':
          description: Invalid data was sent with the request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Post-orders-vehicle-hire-quoteRequestUnprocessableEntityError
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                vehicles:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/OrdersVehicleHireQuotePostRequestBodyContentApplicationJsonSchemaVehiclesItems
                  description: >-
                    A list of vehicle types you'd like to retrieve 

                    quotes for.


                    Use either `All` or `*` to select all vehicles. `All` and
                    `*` may only be passed alone. Passing either in the
                    `vehicles` array with other values in the array will result
                    in a validation error.
                duration:
                  $ref: >-
                    #/components/schemas/OrdersVehicleHireQuotePostRequestBodyContentApplicationJsonSchemaDuration
                  description: |-
                    The desired duration for this hire job.

                    Check the documentation for more info on hire durations.
                fulfilment_date:
                  type: string
                  format: date
                  description: >-
                    The date on which the order should be fulfilled. Expects
                    date in format `YYYY-MM-DD`.
                two_man_delivery:
                  type: boolean
                  default: false
                  description: >-
                    Whether or not the delivery driver is required to have an
                    additional person with them to fulfil the order. Defaults to
                    `false` if not provided.
              required:
                - vehicles
                - duration
                - fulfilment_date
servers:
  - url: https://sandbox-api.deliveryapp.com/api/v1
components:
  schemas:
    OrdersVehicleHireQuotePostRequestBodyContentApplicationJsonSchemaVehiclesItems:
      type: string
      enum:
        - Car
        - Small Van
        - Short Wheel Base
        - Long Wheel Base
        - Extra Long Wheel Base
        - Luton Van
        - All
        - '*'
      title: >-
        OrdersVehicleHireQuotePostRequestBodyContentApplicationJsonSchemaVehiclesItems
    OrdersVehicleHireQuotePostRequestBodyContentApplicationJsonSchemaDuration:
      type: string
      enum:
        - half-day
        - full-day
      description: |-
        The desired duration for this hire job.

        Check the documentation for more info on hire durations.
      title: >-
        OrdersVehicleHireQuotePostRequestBodyContentApplicationJsonSchemaDuration
    OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitleVehicle:
      type: string
      enum:
        - Car
        - Small Van
        - Short Wheel Base
        - Long Wheel Base
        - Extra Long Wheel Base
        - Luton Van
        - 7.5 Tonne Lorry
      description: The name of the type of vehicle that this quote object applies to.
      title: >-
        OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitleVehicle
    OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitle:
      type: object
      properties:
        vehicle:
          $ref: >-
            #/components/schemas/OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitleVehicle
          description: The name of the type of vehicle that this quote object applies to.
        price:
          type:
            - integer
            - 'null'
          description: >-
            The sub total of the quote for this vehicle. Value will be in lowest
            currency unit, i.e. pence for GBP.
        price_formatted:
          type:
            - string
            - 'null'
          description: The price in a human-readable format.
        price_no_vat:
          type:
            - integer
            - 'null'
          description: >-
            The sub total of the quote for this vehicle excluding VAT. Value
            will be in lowest currency unit, i.e. pence for GBP.
        price_no_vat_formatted:
          type:
            - string
            - 'null'
          description: The price excluding VAT in a human-readable format.
      description: >-
        Price data may return as `null` if the request calls for a delivery
        set-up that is not supported by the platform.
      title: >-
        OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitle
    OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItems:
      type: object
      properties:
        '[vehicle_title]':
          $ref: >-
            #/components/schemas/OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItemsVehicleTitle
          description: >-
            Price data may return as `null` if the request calls for a delivery
            set-up that is not supported by the platform.
      title: >-
        OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItems
    OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaExtraTrips:
      type: object
      properties:
        price:
          type: integer
          description: >-
            The total price of extra trips for the delivery order. An extra
            trips are any and all locations after the first drop-off loca Value
            will be in lowest currency unit, i.e. pence for GBP.
        price_formatted:
          type: string
          description: Total extra trips price in a human-readable format.
        count:
          type: integer
          description: The total number of extra trips in this delivery order.
      description: >-
        This will be an object when the order type is `delivery`, `null`
        otherwise.
      title: >-
        OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaExtraTrips
    Orders - Vehicle Hire_post-orders-vehicle-hire-quote_Response_201:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: The quote ID.
        vehicles:
          type: array
          items:
            $ref: >-
              #/components/schemas/OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaVehiclesItems
          description: >-
            An list of quote objects. Each object will contain a quote for every
            vehicle that was outlined in the request.
        extra_trips:
          oneOf:
            - $ref: >-
                #/components/schemas/OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaExtraTrips
            - type: 'null'
          description: >-
            This will be an object when the order type is `delivery`, `null`
            otherwise.
        remote:
          type:
            - boolean
            - 'null'
          description: >-
            This will be true if __any__ of the locations fall in a postal code
            that has been flagged as remote and otherwise difficult to reach.
      title: Orders - Vehicle Hire_post-orders-vehicle-hire-quote_Response_201
    OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties:
        field_key_1:
          type: array
          items:
            type: string
        field_key_2:
          type: array
          items:
            type: string
      description: >-
        A list of errors. Each item will represent a single field and contain a
        simple array of error messages.
      title: OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaErrors
    Post-orders-vehicle-hire-quoteRequestUnprocessableEntityError:
      type: object
      properties:
        message:
          type: string
          description: An overview of the error response.
        errors:
          $ref: >-
            #/components/schemas/OrdersVehicleHireQuotePostResponsesContentApplicationJsonSchemaErrors
          description: >-
            A list of errors. Each item will represent a single field and
            contain a simple array of error messages.
      title: Post-orders-vehicle-hire-quoteRequestUnprocessableEntityError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: ''

```

## SDK Code Examples

```python
import requests

url = "https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote"

payload = {
    "vehicles": ["Car"],
    "duration": "half-day",
    "fulfilment_date": "2023-01-15"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"vehicles":["Car"],"duration":"half-day","fulfilment_date":"2023-01-15"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote"

	payload := strings.NewReader("{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"half-day\",\n  \"fulfilment_date\": \"2023-01-15\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"half-day\",\n  \"fulfilment_date\": \"2023-01-15\"\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"half-day\",\n  \"fulfilment_date\": \"2023-01-15\"\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote', [
  'body' => '{
  "vehicles": [
    "Car"
  ],
  "duration": "half-day",
  "fulfilment_date": "2023-01-15"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"vehicles\": [\n    \"Car\"\n  ],\n  \"duration\": \"half-day\",\n  \"fulfilment_date\": \"2023-01-15\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "vehicles": ["Car"],
  "duration": "half-day",
  "fulfilment_date": "2023-01-15"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://sandbox-api.deliveryapp.com/api/v1/orders/vehicle-hire/quote")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```