# Offer webhook webhook type: OFFER Endpoint: POST Offer Version: 1.0.0 ## Request fields (application/json): - `id` (string) - `references` (array) - `offerVersion` (string) - `bookingId` (string) - `canceled` (boolean) - `carrierId` (string) The M2X carrier id for this offer - `carrierExternalId` (string) External carrier ids for this carrier - `carrierName` (string) Carrier name for this job - `corporateId` (string) The M2X corporate id for this offer - `corporateName` (string) Corporate name for this job - `corporateSubaccountId` (string) The M2X corporate subaccount id for this offer - `corporateSubaccountName` (string) Corporate subaccount name for this offer - `corporateSubaccountIntegrationId` (string) The M2X corporate subaccount integration id for this booking - `transportRequirementsId` (string) M2X internal tracking id for the product type - `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 bespoke properties usable for pricing and optimisation - `productSpatialRequirement` (number,null) Total volume or area for the booking - `productMassKg` (number,null) Total weight for the booking - `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.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.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 - `noPayment` (boolean) Whether upon acceptance the carrier shall get a payment or not (e.g. freight forward) - `distanceKm` (number) The reference distance for the job - `sourceId` (string) The source of the offer - `priceTransport` (number,null) The allocated transport price - `priceFaf` (number,null) The allocated FAF - `priceStrategy` (string,null) The pricing strategy for the offer Enum: "Deferred", "Fixed", "Group", "Precision", "Provided" - `priceTransportAdjustmentReasons` (array) - `priceTransportAdjustment` (number,null) The amount for the adjustment - `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.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" - `fromLocationDistrict` (string) - `fromLocationDistrictId` (string) - `fromLocationRegion` (string) - `toLocation` (object) - `toLocationDistrict` (string) - `toLocationDistrictId` (string) - `toLocationRegion` (string) - `transportTimestamp` (string) RFC3339 date time of cart - `settled` (boolean) Whether the offer is accepted by the carrier - `queried` (boolean) Whether the offer is being queried by the carrier - `status` (string) Enum: "Delivered", "Queried", "Accepted", "Invoiced", "Paid", "Completed" ## Response 200 fields