# Find customer booking by ID Endpoint: GET /customerBookings/{customerBookingId} Version: 1.0.0 Security: M2X_auth_application ## Path parameters: - `customerBookingId` (string, required) The customer booking Id ## Response 200 fields (application/json): - `id` (string) - `externalReference` (string) - `externalNote` (string) - `canceled` (boolean) - `acknowledged` (boolean) - `status` (string) - `requestCreated` (string) - `updated` (string) - `carrierId` (string) The M2X carrier id for this booking - `customerId` (string) Carrier customer id for this booking - `customerPortalProfileId` (string) Carrier customer portal profile id for this booking - `customerName` (string) Carrier customer name for this booking - `productCode` (string,null) M2X internal tracking id for the product code used - `productCodeName` (string,null) M2X name for the product code used - `productCodeExternalId` (string,null) External Id for product tracking - `properties` (object,null) A key value store containing custom properties - `content` (array) The sub components of the product if present - `content.description` (string,null) Description of the payload - `content.productBundle` (object) Details of the products carted - `content.productBundle.readonly` (boolean) True if there is no expectation for driver to amend actuals during pickup or delivery - `content.productBundle.payload` (array) - `content.productBundle.payload.quantity` (number,null) This item quantity - `content.productBundle.payload.description` (string,null) - `content.productBundle.payload.itemId` (string,null) - `content.productBundle.payload.massKg` (number,null) Optional override for the weight - `content.productBundle.payload.netWeightKg` (number,null) Optional the net weight of the product line item - `content.productBundle.payload.tareWeightKg` (number,null) Optional the net weight of the product line item - `content.productBundle.payload.spatialRequirement` (number,null) Optional override for the volume - `content.productBundle.payload.unitOfMeasure` (string,null) Optional unit of measure (e.g. bags) - `content.productBundle.payload.product` (object) A product - `content.productBundle.payload.product.transportRequirementsId` (string,null) M2X internal tracking id for the product type - `content.productBundle.payload.product.productCodeName` (string,null) Friendly name of the product code - `content.productBundle.payload.commodityCode` (string,null) optional commodity code - `content.productBundle.payload.commodityDescription` (string,null) optional commodity description - `content.productBundle.payload.orderNumber` (string,null) optional order number - `content.productBundle.payload.metadata` (object,null) Opaque passenger data - `content.productBundle.payload.properties` (object,null) A key value store containing bespoke properties usable for pricing and optimisation - `content.productBundle.payload.productCode` (object) A product - `content.productBundle.payload.productCode.productInvoiceName` (string,null) Invoice name of the product code - `content.productBundle.payload.productCode.productComponents` (any) - `content.productBundle.payload.productCode.properties` (object,null) - `content.productBundle.payload.productCode.disabled` (boolean) Whether the product is usable in the front end - `content.productBundle.payload.productCode.customDimensions` (boolean) Whether the product has any custom dimensions - `content.productBundle.payload.productCode.customDimensionsDensity` (number,null) Product's custom density - `content.productBundle.payload.productCode.customDimensionsLength` (number,null) Product's custom length - `content.productBundle.payload.productCode.customDimensionsWidth` (number,null) Product's custom width - `content.productBundle.payload.productCode.customDimensionsHeight` (number,null) Product's custom height - `content.productBundle.payload.productCode.customDimensionsWeightPerUnit` (number,null) Product's custom eight per unit - `content.productBundle.payload.productCode.customFixedLoadingTime` (number,null) Product's custom fixed unit loading time - `content.productBundle.payload.productCode.customFixedUnloadingTime` (number,null) Product's custom fixed unit unloading time - `content.productBundle.payload.productCode.customLoadingTimePerUnit` (number,null) Product's custom loading time per unit - `content.productBundle.payload.productCode.customUnloadingTimePerUnit` (number,null) Product's custom unloading time per unit - `content.productBundle.payload.productCode.customDimensionsUnitsPerLift` (number,null) Product's custom units per lift - `content.productBundle.payload.productCode.gtnCaptureEnabled` (boolean) Enable Gross, Tare, Net input on driver mobile when weighbridge available at location - `content.productBundle.payload.productCode.isMix` (boolean) Whether or not the product is a mix of other products. This is inferred from the presence of product components, but can also be specified explicitly in the case that there are no default components. Must not be false when product components are specified (but can be omitted). - `content.productBundle.payload.productCode.mixWrapperOnly` (boolean) Whether or not the product is usable only as a mix wrapper - `content.productBundle.payload.productCode.mixContentOnly` (boolean) Whether or not the product is usable only as component in a product mix - `content.productBundle.payload.productCode.dispatcherCanSpecifyMix` (boolean) Whether or not the dispatcher can specify the components making up the product mix - `content.productBundle.payload.productCode.dispatcherCanSpecifyDimensions` (boolean) Whether or not the dispatcher can specify the product dimensions - `content.productBundle.supplimentary` (array) Details of the products carted that are not considered part of the actual payload - `quantity` (number) The product quantity - `productSpatialRequirement` (number,null) Total volume or area for the booking - `productMassKg` (number,null) Total weight for the booking - `sourceId` (string) The source of the booking - `fromLocation` (object) - `fromLocation.addressText` (string, required) - `fromLocation.latitude` (number, required) - `fromLocation.longitude` (number, required) - `fromLocation.locationName` (string, required) - `fromLocation.locationId` (string,null) The M2X internal location id. When a location is manually created in M2X, this is a randomly generated unique identifier. If creating locations via API, the caller can set the Location ID. - `fromLocation.locationOwnerId` (string,null) The M2X internal location owner id. - `fromLocation.locationVersion` (string,null) Version of the location for change tracking. - `fromLocation.externalId` (string,null) An optional external identifier assigned to the location. This ID can be provided when creating the location and is typically used for cross-system referencing or integration with external data sources. - `fromLocation.timezone` (string) IANA (aka TZ database) timezone name Example: "Pacific/Auckland" - `fromDateAndTimeConstraint` (object) - `fromDateAndTimeConstraint.date` (string, required) Day required (YYYY-MM-DD) - `fromDateAndTimeConstraint.timeConstraint` (any) - `fromContactDetails` (object) - `fromContactDetails.email` (string) - `fromContactDetails.phone` (string) - `fromContactDetails.name` (string) - `fromTimeWindows` (array) - `fromTimeWindows.start` (integer, required) Epoch timestamp (seconds since 1970), start of the window - `fromTimeWindows.end` (integer, required) Epoch timestamp (seconds since 1970), end of the window - `fromReference` (string) The sender reference - `toLocation` (object) - `toDateAndTimeConstraint` (object) - `toContactDetails` (object) - `toTimeWindows` (array) - `toReference` (string) The receiver reference ## Response 404 fields (application/json): - `message` (string) Example: "customer booking ABC123 not found"