# Get a list of all transport requests by ids This is an endpoint that allows you to retrieve a list of Transport Requests in bulk. The Transport Requests are identified by their business id, provided in the query. When one or more transport requests could not be found, this will be indicated in the errors-section of the response. Endpoint: GET /transport-requests Version: 1.6.1 Security: clientCredentials ## Query parameters: - `ids` (array, required) A comma-separated list of Transport Request business IDs. ## Response 200 fields (application/json): - `data` (array) - `data.business_id` (string, required) Unique reference ID Example: "transportRequestA" - `data.transport_category` (string) An optional category for the Transport Request, represented by its code. This category can be used for filtering in the user interface but is not exposed as a filter in the API's filter endpoints. There is no integration between Conditionals and Transport Request categories. Example: "transportCategoryA" - `data.client` (string) An optional reference, by business_id, to a Company that is known in Order Book. Conditionals can target Orders contained within a TransportRequest with a certain Company as its client, thus providing the planner a way for applying business rules to all Orders for certain customers. Example: "companyId" - `data.earliest_start_at` (string) A calculated field that is the earliest start_at of all contained Orders. Example: "2021-01-01T10:15:30Z" - `data.description` (string) A freeform text description of the Transport Request, providing additional details that might be of use for a planner. Example: "a description" - `data.orders` (object) Orders contain all orders related to a TransportRequest. Due to de difference in optimization, the orders can contain either pickupAndDeliveries or separate pickups and deliveries. - `data.orders.deliveries` (array) Set of deliveries related to this Transport Request. - `data.orders.deliveries.order` (object, required) General order properties. In case of a pickupDelivery Order, these properties are shared between both the pickup and delivery activities. - `data.orders.deliveries.order.business_id` (string, required) A unique reference id. Example: "orderA" - `data.orders.deliveries.order.order_category` (string) An optional category for the Order, represented by its code. Defining a category for your Order can help in easy retrieval of the information in the user interface. Conditionals can be targeted to Orders with a specific category, allowing the planner to create business rules for sets of Orders. Example: "orderCategoryA" - `data.orders.deliveries.order.description` (string) A freeform text description, providing additional details that might be of use for a planner. Example: "a description" - `data.orders.deliveries.order.capacities` (array, required) Required capacity on the executor of this Order. The executor will need to be able to fulfill all capacities specified on this Order in order to execute it. - `data.orders.deliveries.order.capacities.type` (string) Characterization of a capacity, representing the dimension in which this Capacity is expressed. Enum: "volume", "weight", "loadingMeters", "capacity1", "capacity2", "capacity3", "capacity4", "capacity5" - `data.orders.deliveries.order.capacities.value` (number, required) The nominal capacity required of the executor, in the specified dimension. Example: 20 - `data.orders.deliveries.order.mandatory` (boolean) Boolean flag signaling the optimization that this order must be executed. If this flag is not provided, an outsourcing_cost needs to be provided. Example: true - `data.orders.deliveries.order.requirements` (object) Requirements and constraints that this order enforces of its executor. These properties help the optimization engine in determining which executors could be used for this Order. - `data.orders.deliveries.order.requirements.tags` (array) Properties that must be present on the executor to be allowed to execute this order. Example: ["tagX"] - `data.orders.deliveries.order.requirements.forbidden_tags` (array) Properties that must not be present on the executor to be allowed to execute this order. Example: ["tagY"] - `data.orders.deliveries.order.requirements.combination_strategy` (string) Strategy for combining the requirements and constraints of this Order with those on linked Locations or applicable Conditionals. The strategies have the following consequences: * OVERRIDE The order takes precedence over both Conditionals and Locations, only the Order's requirements and constraints will be taken into account for the optimization. * COMBINE The order's requirements and constraints will be combined with all requirements and constraints on the linked Location and applicable Conditionals. Enum: "COMBINE", "OVERRIDE" - `data.orders.deliveries.order.lifo_groups` (array) Orders are handled _last-in, first-out_ (LIFO) within an optimization. Specifying LIFO-groups will limit this behaviour to only those orders within the same LIFO group. An order can be a part of multiple LIFO groups, which will result in the LIFO-constraint being applied within each LIFO group it is a part of. Example: ["lifo_group"] - `data.orders.deliveries.order.outsourcing_cost` (number) A _fictional_ cost for not planning this order in an optimization. This allows the optimization engine to weigh the costs of executing the order versus outsourcing it to a (_potentially fictitious_) third party. - `data.orders.deliveries.order.custom_data` (object) Custom data allows you te enrich an Order with relevant information for the planner that is not part of the Order Book domain. Custom data properties will be available on the distinct activities (Pickup and/or Delivery) of this Order in the planning context. This allows you to define a property once and have it available on both parts of a PickupDelivery Order. When a custom data key is duplicated on the activity-level, it will override the value defined on the Order level. - `data.orders.deliveries.order.plan_group` (string) The plan group this Order belongs to. Plan groups signify the group of orders that are supposed to be planned together. Example: "a plan group" - `data.orders.deliveries.delivery` (object, required) Properties specific to the activity that needs to be executed for fulfilling this order. In case of a PickupDelivery Order, these are two separate activities with their own settings. - `data.orders.deliveries.delivery.site_location` (object) A known Location in Order Book at which this activity occurs. This allows reusing the information present on the Location, such as opening hours, addresses requirements... Using a site_location also allows you to target sets of Orders based on a shared Location reference in a Conditional. Combining the Order properties with those of the linked Location can be fine-tuned using the combination strategies on relevant properties. Mutually exclusive with visit_location. - `data.orders.deliveries.delivery.site_location.location_id` (string) A business_id of a known Location. Example: "locationA" - `data.orders.deliveries.delivery.visit_location` (object) An ad-hoc address at which this Order needs to be executed. When using a visit_location either address information should be present, or otherwise a geo point. When no geo_point is provided the address will be resolved by our geocoding service. The resolved information is read only (ie: only available in a response). Mutually exclusive with site_location. - `data.orders.deliveries.delivery.visit_location.name` (string) A name by which to identify this location Example: "Conundra" - `data.orders.deliveries.delivery.visit_location.address_line` (string) The address line for this location's address. Example: "Voordries 41" - `data.orders.deliveries.delivery.visit_location.city` (string) The city of this location. Required when no geo point is provided. Example: "Oosterzele" - `data.orders.deliveries.delivery.visit_location.zip_code` (string) The zip code of this location. Required when no geo point is provided. Example: "9860" - `data.orders.deliveries.delivery.visit_location.country_code` (string) An ISO3166-1 alpha-2 two letter country code. Required when no geo point is provided. - `data.orders.deliveries.delivery.visit_location.geo_point` (object) The geo point identifying this location. If this is provided, all textual address information is optional. - `data.orders.deliveries.delivery.visit_location.geo_point.latitude` (number, required) Example: 50.9514048 - `data.orders.deliveries.delivery.visit_location.geo_point.longitude` (number, required) Example: 3.8067878 - `data.orders.deliveries.delivery.visit_location.resolved_address` (object) The resolved address is geocoded based on the given address, with the quality of the resolving being specified by the field score. Addresses are only resolved when no geo point is provided on the provided address. - `data.orders.deliveries.delivery.visit_location.resolved_address.geo_point` (object) - `data.orders.deliveries.delivery.visit_location.resolved_address.address_line` (string) Example: "Voordries 41" - `data.orders.deliveries.delivery.visit_location.resolved_address.city` (string) Example: "Oosterzele" - `data.orders.deliveries.delivery.visit_location.resolved_address.zip_code` (string) Example: "9860" - `data.orders.deliveries.delivery.visit_location.resolved_address.country_code` (string) An ISO3166-1 alpha-2 two letter country code - `data.orders.deliveries.delivery.visit_location.resolved_address.score` (integer) This score ranges from 0 to 9, with 0 being the worst and 9 a perfectly geocoded address. Example: 9 - `data.orders.deliveries.delivery.stop_time` (object) The time that needs to be taken into account for stopping at the Order's location. - `data.orders.deliveries.delivery.stop_time.value` (string, required) An ISO-formatted Duration, see [wikipedia ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) and [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339) - `data.orders.deliveries.delivery.stop_time.combination_strategy` (string) The combination_strategy determines how the application will resolve stop_time information during the consolidation of an Order: * HIGHEST: _(default)_ Pick the highest of the available stop times from the Order, Location and/or Conditional(s). * CUMULATIVE: Add all available stop times from the Order, Location and/or Conditional(s). * OVERRIDE: Use the stop time defined on the order. Ignore stop times from the Location and/or Conditional(s). Enum: "HIGHEST", "CUMULATIVE", "OVERRIDE" - `data.orders.deliveries.delivery.service_time` (string) The duration required for executing this activity in the order. Needs to be an ISO-formatted Duration, see [wikipedia ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) and [RFC-3339](https://datatracker.ietf.org/doc/html/rfc3339) - `data.orders.deliveries.delivery.sequence` (integer) The sequence of this activity of the Order within a Route. Note: The sequence is applied to a route, not to trips within a route. Example: 1 - `data.orders.deliveries.delivery.time_frame` (object, required) Supports two ways to specify when an order can be delivered: * windowed intervals are used in conjunction with a (site) Location's (planning) time windows or Conditionals. The windowed intervals will be limited to the smallest common intersection between all applicable time windows from these. * absolute intervals are absolute date times that will be used to plan the order. Using both windowed and absolute intervals in conjunction can solve many complicated cases, especially when taking the flexibility of Conditionals into account. At least one timerange is required, either absolute or windowed. - `data.orders.deliveries.delivery.time_frame.absolute` (array) A set of date-time intervals within which this activity of the Order can be executed. Absolute timeframes will always be retained on the Order after consolidation. - `data.orders.deliveries.delivery.time_frame.absolute.start_at` (string, required) The start of the datetime interval, provided as an ISO-8601 formatted datetime. Example: "2021-01-01T10:15:30Z" - `data.orders.deliveries.delivery.time_frame.absolute.end_at` (string) The end of the datetime interval, provided as an ISO-8601 formatted datetime. When no end_at is provided, the value is defaulted to the start_at + 14 days. Example: "2021-01-01T10:15:30Z" - `data.orders.deliveries.delivery.time_frame.absolute.cost` (number) An optional cost for executing the activity within this datetime interval. This (potentially fictional) cost can be used to steer the optimization. A higher cost will be less likely to result in this interval being chosen, though this is still possible if it leads to an overall lower cost on of the optimization. Note: It's recommended to use integer values as decimal precision is not guaranteed. Example: 42 - `data.orders.deliveries.delivery.time_frame.windowed` (array) A set of date-time intervals within which this activity of the Order can be executed. These intervals will be intersected with the (planning) opening hours of a linked (site) location and/or timewindows defined on applicable Conditionals. - `data.orders.deliveries.delivery.color` (string) This property can be used to differentiate between orders visually. The orders within a planning will be shown in this color. The color can be provided both as a CSS color name or using a hexadecimal color code (eg: #123DEF). Example: "red" - `data.orders.deliveries.delivery.labels` (array) Labels can be used for identifying sets of Orders. When starting an optimization, labels can be used for filtering the Order space and limiting the optimization to specific subsets. Labels can also be used as filters in select Order Book features or Constraint Management. Example: ["labelA"] - `data.orders.deliveries.delivery.custom_data` (object) Custom data allows you te enrich an Order with relevant information for the planner that is not part of the Order Book domain. Custom data properties defined on this activity of an Order will be available in the planning context. Keys defined on this level will override any custom data that is defined on other entities or properties. - `data.orders.pickups` (array) Set of pickups related to this Transport Request. - `data.orders.pickups.pickup` (object, required) Properties specific to the activity that needs to be executed for fulfilling this order. In case of a PickupDelivery Order, these are two separate activities with their own settings. - `data.orders.pickup_and_deliveries` (array) Set of pickupAndDelivery pairs related to this Transport Request. - `data.custom_data` (object) Custom data allows you te enrich a TransportRequest with relevant information for the planner that is not part of the Order Book domain. Custom data on a TransportRequest does not propagate to its Orders. - `data.etag` (string) Must match header if provided on request. - `errors` (array) - `errors.type` (string) An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). Example: "https://api.conundra.eu/problem/constraint-violation" - `errors.title` (string) A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable Example: "Invalid ..." - `errors.status` (integer) The HTTP status code generated by the origin server for this occurrence of the problem. Example: 400 - `errors.detail` (string) A human readable explanation specific to this occurrence of the problem. Example: "string" - `errors.instance` (string) An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. Example: "https://api.conundra.eu/orderbook/v1/orders/deliveries/chilled" - `errors.violations` (array) - `errors.violations.field` (string) A reference to the field in the request that triggered this violation. Example: "class.field" - `errors.violations.message` (string) A message explaining the violation in the referenced field. Example: "a violation message"