POST
/api/v1/shipments/{shipment_id}/book
Auth: Bearer token
Book Shipment
Creates a booking from a shipment and selected quote option.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| shipment_id | string | Yes | Shipment identifier. |
Body parameters
| Name | Type | Required | Description |
|---|---|---|---|
| quote_option_id | string | Yes | Selected carrier quote option ID. |
Example response
<?php
return [
'success' => true,
'data' => [
'booking_id' => 'bk_909',
'merchant_id' => 'mrc_001',
'environment_id' => 'env_live_001',
'shipment_id' => 'shp_101',
'shipment' => [
'shipment_id' => 'shp_101',
'merchant_id' => 'mrc_001',
'environment_id' => 'env_live_001',
'merchant_order_ref' => 'ORD-8842',
'collection_date' => '2026-02-18',
'status' => 'ready',
'pickup_address' => [
'location_id' => 'loc_001',
'name' => 'Warehouse A',
'address_line_1' => '12 Jet Park Rd',
'city' => 'Johannesburg',
'country' => 'ZA',
'post_code' => '1459',
'latitude' => -26.1367,
'longitude' => 28.2225
],
'dropoff_address' => [
'location_id' => 'loc_002',
'name' => 'Customer Address',
'address_line_1' => '90 Bree St',
'city' => 'Cape Town',
'country' => 'ZA',
'post_code' => '8001',
'latitude' => -26.1367,
'longitude' => 28.2225
],
'pickup_instructions' => 'Collect from loading bay 2',
'dropoff_instructions' => 'Call on arrival',
'ready_at' => '2026-02-18T07:30:00Z',
'metadata' => [
'source' => 'shopify'
],
'parcels' => [
[
'parcel_id' => 'prc_001',
'weight_kg' => '3.50',
'length_cm' => '35',
'width_cm' => '22',
'height_cm' => '18',
'declared_value' => '899.00',
'contents_description' => 'Electronics accessories'
]
],
'created_at' => '2026-02-17T10:22:00Z'
],
'quote_option' => [
'quote_option_id' => 'qopt_001',
'carrier_code' => 'fastship',
'service_code' => 'next_day',
'currency' => 'ZAR',
'amount' => '225.00',
'tax_amount' => '33.75',
'total_amount' => '258.75',
'eta_from' => '2026-02-18T08:00:00Z',
'eta_to' => '2026-02-18T17:00:00Z',
'rules' => [
'max_weight_kg' => 25
]
],
'status' => 'assigned',
'carrier_code' => 'fastship',
'carrier_job_id' => 'JOB-112233',
'label_url' => 'https://cdn.pickndrop.io/labels/bk_909.pdf',
'driver' => [
'driver_id' => 'drv_001',
'name' => 'Jane Driver',
'email' => '[email protected]',
'telephone' => '+27115551234'
],
'current_driver_id' => 'drv_001',
'booked_at' => '2026-02-17T11:01:00Z',
'cancelled_at' => null,
'cancellation_reason_code' => null,
'cancellation_reason_note' => null,
'cancel_reason' => null,
'pod' => null
]
];
Request examples
curl -X POST \
"https://api.spaces.za.com/api/v1/shipments/shp_101/book" \
-H "Authorization: Bearer <token>" \\
-H "Content-Type: application/json" \\
--data '{
"quote_option_id": "opt_1"
}'