---
title: "POST /p2p-delivery/occupancies/reserve"
method: POST
path: "/p2p-delivery/occupancies/reserve"
tags: ["p2p-delivery"]
---

# POST /p2p-delivery/occupancies/reserve

`POST /p2p-delivery/occupancies/reserve`

## Request

- Base URL: `https://api.ganje.net/v1.1`
- URL: `https://api.ganje.net/v1.1/p2p-delivery/occupancies/reserve`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/ganje/apis/ganje-external-api/docs/p2p-delivery/occupancies/reserve/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- object
  - `origin_station` string, uuid
  - `origin_address` object
    - `city_id` integer, required
    - `full_address` string, required
    - `latitude` number
    - `longitude` number
  - `sender_person` object
    - `firstname` string, required
    - `lastname` string, required
    - `phone_number` string, required
  - `recipient_person` object, required
    - `firstname` string, required
    - `lastname` string, required
    - `phone_number` string, required
  - `destination_address` object, required
    - `city_id` integer, required
    - `full_address` string, required
    - `latitude` number
    - `longitude` number
  - `logistic_company` string, uuid, required
  - `parcels` object[], required
    - `dimension` object, required
      - `width` number, required: In meter
      - `height` number, required: In meter
      - `length` number, required: In meter
    - `weight` integer, nullable, required: Parcel Weight - unit: Gram
    - `value` number, nullable, required: Parcel Value for Using in Insurance - unit: Rial
    - `submitter_id` string
    - `packaging_type` 'box' | 'packet'
    - `characteristics` 'gold' | 'normal'
  - `pod` string
  - `ready_time` string, date-time

## Response `201`

Created

- object
  - `occupancy_uuid` string
  - `shipment_id` string
  - `external_id` string
  - `parcels` object[], required
    - `id` integer
    - `submitter_id` string
    - `weight` integer, nullable: Parcel Weight - unit: Gram
    - `value` number, nullable: Parcel Value for Using in Insurance - unit: Rial
    - `temp_size` object, required
      - `uuid` string, uuid
      - `name` string, nullable
      - `length` number: in meter
      - `width` number: in meter
      - `height` number: in meter
  - `status` 'reservable' | 'reserved' | 'failed_to_reserve' | 'canceled': reservable:Reservable - reserved:Reserved - failed_to_reserve:Failed To Reserve - canceled:Canceled
  - `logistic_company` object, required
    - `pk` integer, required
    - `uuid` string
    - `name` string: Company human readable name in Farsi
  - `sender` object, required
    - `phone_number` string, required: Phone Number in +98xxxxxxxxxx format
    - `first_name` string
    - `last_name` string
    - `full_name` string, nullable
  - `recipient` object, required
    - `phone_number` string, required: Phone Number in +98xxxxxxxxxx format
    - `first_name` string
    - `last_name` string
    - `full_name` string, nullable
  - `destination_location` object, required
    - `city` object, required
      - `id` integer
      - `name` string, required
      - `province` object, required
        - `id` integer
        - `name` string, required
    - `address` string: Full address
    - `latitude` number, nullable
    - `longitude` number, nullable

---

[API](https://skmtc.dev/ganje/apis/ganje-external-api.md) - [All operations](https://skmtc.dev/ganje/apis/ganje-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ganje/apis/ganje-external-api/revisions/709eb3fdf716?raw)
