---
title: "Get delivery quote"
method: POST
path: "/v1/deliveries/quotes"
tags: ["Deliveries"]
---

# Get delivery quote

`POST /v1/deliveries/quotes`

## Request

- Base URL: `https://api.dashelectric.co`
- URL: `https://api.dashelectric.co/v1/deliveries/quotes`
- Auth: HTTP bearer

Returns the available service tiers, fares (IDR), distance, and
estimated pickup / dropoff times for a pickup–dropoff pair. Quotes
are returned as an array; if you omit `serviceType` the cheapest
single tier is assumed.

## Headers

- `x-client-time-zone` 'Asia/Jakarta' | 'Asia/Makassar' | 'Asia/Jayapura', required

## Request body

- QuoteRequest
  - `serviceCategory` 'EXPRESS' | 'LOGISTIC'
  - `serviceType` 'INSTANT' | 'SAME_DAY'
  - `paymentMethod` 'CASH' | 'CASHLESS'
  - `packages` Package[], required
    - `name` string, required
    - `type` 'REGULAR' | 'SPECIAL' | 'SENSITIVE' | 'HIGH_VALUE' | 'OTHER': What the package contains. Optional; surrounding whitespace is trimmed before the value is checked. On Create Delivery an omitted, null, or empty value is stored as REGULAR and returned on Create Delivery and Get Delivery; Get Quote applies no default and echoes back only what was sent. A label only — it does not affect pricing, courier assignment, or batching.
    - `description` string
    - `quantity` integer, required
    - `price` integer: Declared total value in IDR (not unit price). Used for insurance and COD.
    - `weight` number, required: kg
    - `width` number: cm
    - `length` number: cm
    - `height` number: cm
  - `origin` Address, required
    - `address` string, required
    - `coordinates` Coordinates, required
      - `latitude` number, double, required
      - `longitude` number, double, required
    - `province` string
    - `city` string
    - `district` string
    - `subDistrict` string
    - `postalCode` string
    - `notes` string: Free-form note shown to the driver
  - `destination` Address, required
    - `address` string, required
    - `coordinates` Coordinates, required
      - `latitude` number, double, required
      - `longitude` number, double, required
    - `province` string
    - `city` string
    - `district` string
    - `subDistrict` string
    - `postalCode` string
    - `notes` string: Free-form note shown to the driver
  - `schedule` Schedule
    - `pickupTimeFrom` string, date-time
    - `pickupTimeTo` string, date-time

## Response `200`

OK

- QuoteResponse
  - `quotes` Quote[]
    - `service` object
      - `category` 'EXPRESS' | 'LOGISTIC'
      - `type` 'INSTANT' | 'SAME_DAY'
      - `name` string
    - `currency` Currency
      - `code` string
      - `symbol` string
    - `amount` integer: Total fare in IDR.
    - `estimatedTimeline` object
      - `pickup` string, date-time, nullable
      - `dropoff` string, date-time, nullable
    - `distance` number: Distance in meters.
  - `packages` Package[]
    - `name` string, required
    - `type` 'REGULAR' | 'SPECIAL' | 'SENSITIVE' | 'HIGH_VALUE' | 'OTHER': What the package contains. Optional; surrounding whitespace is trimmed before the value is checked. On Create Delivery an omitted, null, or empty value is stored as REGULAR and returned on Create Delivery and Get Delivery; Get Quote applies no default and echoes back only what was sent. A label only — it does not affect pricing, courier assignment, or batching.
    - `description` string
    - `quantity` integer, required
    - `price` integer: Declared total value in IDR (not unit price). Used for insurance and COD.
    - `weight` number, required: kg
    - `width` number: cm
    - `length` number: cm
    - `height` number: cm
  - `origin` Address
    - `address` string, required
    - `coordinates` Coordinates, required
      - `latitude` number, double, required
      - `longitude` number, double, required
    - `province` string
    - `city` string
    - `district` string
    - `subDistrict` string
    - `postalCode` string
    - `notes` string: Free-form note shown to the driver
  - `destination` Address
    - `address` string, required
    - `coordinates` Coordinates, required
      - `latitude` number, double, required
      - `longitude` number, double, required
    - `province` string
    - `city` string
    - `district` string
    - `subDistrict` string
    - `postalCode` string
    - `notes` string: Free-form note shown to the driver
  - `locationAvailability` boolean
  - `driverAvailability` boolean
  - `availability` boolean

## Other responses

- `400`: Unknown field in body
- `404`: Service type not found
- `422`: Distance SLA exceeded

---

[API](https://skmtc.dev/dashelectric/apis/dash-open-api.md) - [All operations](https://skmtc.dev/dashelectric/apis/dash-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dashelectric/apis/dash-open-api/revisions/7544dae33009?raw)
