Develop
svc-cargo (0.10.1-develop.0)
Download OpenAPI specification:Download
Cargo Service GRPC and REST servers
Telemetry Service gRPC and REST servers
Arrow Assets Service gRPC and REST servers
Arrow air traffic control service GRPC server
Confirm an itinerary
Confirm an itinerary This will confirm an itinerary with the scheduler, and will register the parcel with the storage service.
Request Body schema: application/json
id required | string Itinerary UUID |
user_id required | string User ID |
weight_grams required | integer <int32> >= 0 Weight of Cargo TODO(R4): this is a little clunky to re-issue the weight here |
Responses
Request samples
- Payload
{- "id": "string",
- "user_id": "string",
- "weight_grams": 0
}
Request a list of landings for a vertiport.
Request a list of landings for a vertiport.
No more than [MAX_LANDINGS_TO_RETURN
] landings will be returned.
Request Body schema: application/json
object or null Time window (min and max) | |
limit required | integer <int32> >= 0 The maximum number of landings to return (max: [ |
vertiport_id required | string The String ID of the vertiport |
Responses
Request samples
- Payload
{- "arrival_window": {
- "timestamp_max": "2019-08-24T14:15:22Z",
- "timestamp_min": "2019-08-24T14:15:22Z"
}, - "limit": 0,
- "vertiport_id": "string"
}
request_flight
Search for available trips and return a list of [Itinerary
].
Request Body schema: application/json
cargo_weight_kg required | number <float> The estimated weight of cargo |
object or null Time window (min and max) | |
object or null Time window (min and max) | |
vertiport_arrive_id required | string The String ID of the destination vertiport |
vertiport_depart_id required | string The String ID of the vertiport to leave from |
Responses
Request samples
- Payload
{- "cargo_weight_kg": 0,
- "time_arrive_window": {
- "timestamp_max": "2019-08-24T14:15:22Z",
- "timestamp_min": "2019-08-24T14:15:22Z"
}, - "time_depart_window": {
- "timestamp_max": "2019-08-24T14:15:22Z",
- "timestamp_min": "2019-08-24T14:15:22Z"
}, - "vertiport_arrive_id": "string",
- "vertiport_depart_id": "string"
}
Response samples
- 200
[- {
- "base_pricing": 0,
- "currency_type": "string",
- "id": "string",
- "legs": [
- {
- "base_pricing": 0,
- "currency_type": "string",
- "distance_meters": 0,
- "flight_plan_id": "string",
- "path": [
- {
- "latitude": 0,
- "longitude": 0
}
], - "timestamp_arrive": "2019-08-24T14:15:22Z",
- "timestamp_depart": "2019-08-24T14:15:22Z",
- "vertiport_arrive_id": "string",
- "vertiport_depart_id": "string"
}
]
}
]
Scan a parcel
Scan a parcel The provided parcel ID and scanner ID must already exist in the database
Request Body schema: application/json
latitude required | number <double> The latitude (float value) of the scan location |
longitude required | number <double> The longitude (float value) of the scan location |
parcel_id required | string The unique ID (UUID) of the parcel |
scanner_id required | string The unique ID (UUID) of the scanner device |
Responses
Request samples
- Payload
{- "latitude": 0,
- "longitude": 0,
- "parcel_id": "string",
- "scanner_id": "string"
}
Request a list of landings for a vertiport.
Request a list of landings for a vertiport.
No more than [MAX_LANDINGS_TO_RETURN
] landings will be returned.
Request Body schema: application/json
parcel_id required | string The String ID of the vertiport |
Responses
Request samples
- Payload
{- "parcel_id": "string"
}
Get Regional Vertiports
Get Regional Vertiports
Request Body schema: application/json
latitude required | number <float> Latitude of Client |
longitude required | number <float> Longitude of Client |
Responses
Request samples
- Payload
{- "latitude": 0,
- "longitude": 0
}
Response samples
- 200
[- {
- "id": "string",
- "label": "Mercy Hospital (Public)",
- "latitude": 0,
- "longitude": 0
}
]
Register an [`Aircraft`] in the database.
Register an [Aircraft
] in the database.
Request Body schema: application/json
asset_group_id | string or null optional asset_group_id UUID v4, can be used to collect all assets from the same group |
created_at | string <date-time> Timestamp in RFC3339 format |
description | string or null optional additional description of the vehicle |
hangar_bay_id | string or null optional id UUID v4 of the hangar bay this aircraft is assigned to |
hangar_id | string or null optional id UUID v4 of the hangar this aircraft is assigned to |
last_maintenance | string <date-time> Timestamp in RFC3339 format |
next_maintenance | string <date-time> Timestamp in RFC3339 format |
registration_number required | string the vehicle's unique registration number provided by the government |
schedule | string or null optional RRULE data string to indicate the vehicle's available days and hours |
serial_number required | string the vehicle's unique serial_number given at the factory |
updated_at | string <date-time> Timestamp in RFC3339 format |
vehicle_model_id required | string vehicle_model_id UUID v4, can be used to collect additional vehicle_model information |
Responses
Request samples
- Payload
{- "asset_group_id": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "hangar_bay_id": "string",
- "hangar_id": "string",
- "last_maintenance": "2019-08-24T14:15:22Z",
- "next_maintenance": "2019-08-24T14:15:22Z",
- "registration_number": "string",
- "schedule": "string",
- "serial_number": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "vehicle_model_id": "string"
}
Update/modify an [`Aircraft`] in the database.
Update/modify an [Aircraft
] in the database.
This will update the aircraft's information.
Request Body schema: application/json
asset_group_id | string or null The UUID of an AssetGroup, if available. |
description | string or null Optional additional description of the Aircraft. |
hangar_bay_id | string or null optional id UUID v4 of the hangar bay (vertiport) this aircraft is assigned to |
hangar_id | string or null optional id UUID v4 of the hangar (vertipad) this aircraft is assigned to |
id required | string The UUID v4 of the Aircraft to update. |
last_maintenance | string or null Optional date of Aircraft's last maintenance. |
mask required | Array of strings List of fields that should be updated. If any other fields are provided, they will be ignored. |
next_maintenance | string or null Optional date of Aircraft's next planned maintenance. |
registration_number | string or null The Aircraft's registration number. In the US, this is the N number. This is a unique identifier for the aircraft that can be used to look up information about the aircraft from national aviation authorities like the FAA. |
schedule | string or null Optional RRULE data string to indicate the Aircraft's available days and hours. |
serial_number | string or null The Aircraft's unique serial_number given at the factory. |
vehicle_model_id | string or null The vehicle_model_id UUID v4, can be used to collect additional vehicle_model information. |
Responses
Request samples
- Payload
{- "asset_group_id": "string",
- "description": "string",
- "hangar_bay_id": "string",
- "hangar_id": "string",
- "id": "string",
- "last_maintenance": "string",
- "mask": [
- "string"
], - "next_maintenance": "string",
- "registration_number": "string",
- "schedule": "string",
- "serial_number": "string",
- "vehicle_model_id": "string"
}
Get an [`Aircraft`] by its id.
Get an [Aircraft
] by its id.
path Parameters
id required | string Aircraft id |
Responses
Response samples
- 200
{- "basics": {
- "created_at": "2019-08-24T14:15:22Z",
- "group_id": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "status": "Available",
- "updated_at": "2019-08-24T14:15:22Z",
- "whitelist": [
- "string"
]
}, - "description": "string",
- "hangar_id": "string",
- "last_maintenance": "2019-08-24T14:15:22Z",
- "manufacturer": "string",
- "max_payload_kg": 0,
- "max_range_km": 0,
- "model": "string",
- "next_maintenance": "2019-08-24T14:15:22Z",
- "registration_number": "string",
- "serial_number": "string"
}
Response samples
- 200
[- {
- "basics": {
- "created_at": "2019-08-24T14:15:22Z",
- "group_id": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "status": "Available",
- "updated_at": "2019-08-24T14:15:22Z",
- "whitelist": [
- "string"
]
}, - "description": "string",
- "hangar_id": "string",
- "last_maintenance": "2019-08-24T14:15:22Z",
- "manufacturer": "string",
- "max_payload_kg": 0,
- "max_range_km": 0,
- "model": "string",
- "next_maintenance": "2019-08-24T14:15:22Z",
- "registration_number": "string",
- "serial_number": "string"
}
]
Response samples
- 200
[- {
- "basics": {
- "created_at": "2019-08-24T14:15:22Z",
- "group_id": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "status": "Available",
- "updated_at": "2019-08-24T14:15:22Z",
- "whitelist": [
- "string"
]
}, - "enabled": true,
- "geo_location": {
- "latitude": 0,
- "longitude": 0
}, - "occupied": true,
- "schedule": "string",
- "vertiport_id": "string"
}
]
Response samples
- 200
[- {
- "basics": {
- "created_at": "2019-08-24T14:15:22Z",
- "group_id": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "status": "Available",
- "updated_at": "2019-08-24T14:15:22Z",
- "whitelist": [
- "string"
]
}, - "description": "string",
- "geo_location": {
- "exterior": {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}, - "interiors": [
- {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}
]
}, - "schedule": "string"
}
]
Register an [`AssetGroup`](crate::rest::structs::AssetGroup) in the database.
Register an AssetGroup
in the database.
Request Body schema: application/json
assets required | Array of strings A list of UUIDs of assets. |
name | string or null Optional identification name of the asset group |
owner required | string The UUID of an Operator, if available. |
Responses
Request samples
- Payload
{- "assets": [
- "string"
], - "name": "string",
- "owner": "string"
}
Get an [`AssetGroup`](crate::rest::structs::AssetGroup) by its id.
Get an AssetGroup
by its id.
path Parameters
id required | string Asset group id |
Responses
Response samples
- 200
{- "assets": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "delegatee": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
Update/modify an [`AssetGroup`](crate::rest::structs::AssetGroup) in the database.
Update/modify an AssetGroup
in the database.
path Parameters
id required | string AssetGroup id |
Request Body schema: application/json
assets required | Array of strings The UUIDs of the assets in the group. |
created_at | string or null <date-time> |
delegatee | string or null The UUID of an [ |
id required | string UUID of the asset group. |
name | string or null |
owner required | string The UUID of an [ |
updated_at | string or null <date-time> |
Responses
Request samples
- Payload
{- "assets": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "delegatee": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
Remove an [`AssetGroup`](crate::rest::structs::AssetGroup) from the database.
Remove an AssetGroup
from the database.
path Parameters
id required | string AssetGroup id |
Responses
Get info about an operator by id.
Get info about an operator by id.
path Parameters
id required | string Operator id |
Responses
Response samples
- 200
{- "address": "string",
- "city": "string",
- "country": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "email": "string",
- "id": "string",
- "logo": "string",
- "name": "string",
- "phone": "string",
- "postal_code": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "website": "string"
}
Get all grouped assets belonging to an operator.
Get all grouped assets belonging to an operator.
These are the assets NOT being delegated to or from this operator.
Returns a list of grouped asset ids.
path Parameters
id required | string Operator id |
Responses
Response samples
- 200
[- "string"
]
Register an [`Vertipad`] in the database.
Register an [Vertipad
] in the database.
Also inserts the vertipad into the vertiport's vertipad list.
Request Body schema: application/json
created_at | string <date-time> Timestamp in RFC3339 format |
enabled required | boolean indicates if the vertipad is in business |
object or null Geo Location Point representation https://mapscaping.com/latitude-x-or-y/ | |
name required | string human readable name of the vertipad |
occupied required | boolean indicates if the vertipad is currently occupied |
schedule | string or null RRULE data string to indicate the vertipad's opening days and hours |
updated_at | string <date-time> Timestamp in RFC3339 format |
vertiport_id required | string vertiport_id UUID v4, all vertipads are part of a vertiport, even if the vertiport has only 1 pad |
Responses
Request samples
- Payload
{- "created_at": "2019-08-24T14:15:22Z",
- "enabled": true,
- "geo_location": {
- "latitude": 0,
- "longitude": 0
}, - "name": "string",
- "occupied": true,
- "schedule": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "vertiport_id": "string"
}
Update/modify a [`Vertipad`] in the database.
Update/modify a [Vertipad
] in the database.
Request Body schema: application/json
enabled | boolean or null Indicates if the Vertipad is in business. |
object or null Geo Location Point representation https://mapscaping.com/latitude-x-or-y/ | |
id required | string The UUID v4 of the Vertipad to update. |
mask required | Array of strings List of fields that should be updated. If any other fields are provided, they will be ignored. |
name | string or null Identification name of the Vertipad. |
occupied | boolean or null Indicates if the Vertipad is currently occupied. |
schedule | string or null Optional RRULE data string to indicate the Vertipad's available days and hours. |
vertiport_id | string or null The UUID v4 of the Vertiport the Vertipad is located at. |
Responses
Request samples
- Payload
{- "enabled": true,
- "geo_location": {
- "latitude": 0,
- "longitude": 0
}, - "id": "string",
- "mask": [
- "string"
], - "name": "string",
- "occupied": true,
- "schedule": "string",
- "vertiport_id": "string"
}
Get an [`Vertipad`] by its id.
Get an [Vertipad
] by its id.
path Parameters
id required | string Vertipad id |
Responses
Response samples
- 200
{- "basics": {
- "created_at": "2019-08-24T14:15:22Z",
- "group_id": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "status": "Available",
- "updated_at": "2019-08-24T14:15:22Z",
- "whitelist": [
- "string"
]
}, - "enabled": true,
- "geo_location": {
- "latitude": 0,
- "longitude": 0
}, - "occupied": true,
- "schedule": "string",
- "vertiport_id": "string"
}
Register an [`Vertiport`] in the database.
Register an [Vertiport
] in the database.
Request Body schema: application/json
created_at | string <date-time> Timestamp in RFC3339 format |
description required | string additional description of the vertiport |
object or null Geo Location Polygon representation | |
name required | string human readable name of the vertiport |
schedule | string or null RRULE data string to indicate the vertipad's opening days and hours |
updated_at | string <date-time> Timestamp in RFC3339 format |
Responses
Request samples
- Payload
{- "created_at": "2019-08-24T14:15:22Z",
- "description": "string",
- "geo_location": {
- "exterior": {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}, - "interiors": [
- {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}
]
}, - "name": "string",
- "schedule": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
Update/modify a [`Vertiport`] in the database.
Update/modify a [Vertiport
] in the database.
This will update the vertiport's information. It can also be used to perform batch add/remove of vertipads.
Request Body schema: application/json
description | string or null Additional description of the Vertiport. |
object or null Geo Location Polygon representation | |
id required | string The UUID v4 of the Vertiport to update. |
mask required | Array of strings List of fields that should be updated. If any other fields are provided, they will be ignored. |
name | string or null Identification name of the Vertiport. |
schedule | string or null Optional RRULE data string to indicate the Vertiport's available days and hours. |
Responses
Request samples
- Payload
{- "description": "string",
- "geo_location": {
- "exterior": {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}, - "interiors": [
- {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}
]
}, - "id": "string",
- "mask": [
- "string"
], - "name": "string",
- "schedule": "string"
}
Get an [`Vertiport`] by its id.
Get an [Vertiport
] by its id.
path Parameters
id required | string Vertiport id |
Responses
Response samples
- 200
{- "basics": {
- "created_at": "2019-08-24T14:15:22Z",
- "group_id": "string",
- "id": "string",
- "name": "string",
- "owner": "string",
- "status": "Available",
- "updated_at": "2019-08-24T14:15:22Z",
- "whitelist": [
- "string"
]
}, - "description": "string",
- "geo_location": {
- "exterior": {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}, - "interiors": [
- {
- "points": [
- {
- "latitude": 0,
- "longitude": 0
}
]
}
]
}, - "schedule": "string"
}