{"openapi":"3.1.0","info":{"title":"Pickup API","description":"Pickup API reference for external system"},"servers":[{"url":"https://api.bring.com/pickup"}],"paths":{"/api/modify/{shipmentnumber}":{"put":{"tags":["Modify"],"summary":"Modify a pickup order","operationId":"modifyPickupOrder","parameters":[{"name":"X-MyBring-API-Uid","in":"header","description":"Mybring login ID","required":true,"schema":{"type":"string"}},{"name":"X-MyBring-API-Key","in":"header","description":"Your user's API key","required":true,"schema":{"type":"string"}},{"name":"shipmentnumber","in":"path","description":"Shipment number","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModifyPickupOrderRequest"},"examples":{"Modify pickup request":{"description":"Modify pickup request","value":{"date":"2026-05-06"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Modify pickup success response":{"description":"Modify pickup success response","value":{"status":"ACCEPTED"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Modify pickup malformed payload response":{"description":"Modify pickup malformed payload response","value":{"status":"FAILED","error":{"message":"Malformed payload at line: 1, column: 5"}}},"Modify pickup mismatched type response":{"description":"Modify pickup mismatched type response","value":{"status":"FAILED","error":{"message":"Mismatched type at line: 1, column: 12"}}},"Modify pickup already picked up response":{"description":"Modify pickup already picked up response","value":{"status":"FAILED","error":{"message":"Order has already been picked up"}}},"Modify pickup order failed response":{"description":"Modify pickup order failed response","value":{"status":"FAILED","error":{"message":"Order is invalid"}}},"Modify pickup date past response":{"description":"Modify pickup date past response","value":{"status":"FAILED","error":{"message":"Provided pickup date is in the past"}}},"Modify pickup date today response":{"description":"Modify pickup date today response","value":{"status":"FAILED","error":{"message":"Provided pickup date is today. Please provide a future date."}}},"Modify pickup date not available response":{"description":"Modify pickup date not available response","value":{"status":"FAILED","error":{"message":"Pickup date is not available"}}},"Modify pickup date expired response":{"description":"Modify pickup date expired response","value":{"status":"FAILED","error":{"message":"Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."}}},"Modify pickup date passed response":{"description":"Modify pickup date passed response","value":{"status":"FAILED","error":{"message":"Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Modify pickup unauthorized response":{"description":"Modify pickup unauthorized response","value":{"status":"FAILED","error":{"message":"This user is not authorized to cancel or modify this booking"}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Modify pickup missing booking response":{"description":"Modify pickup missing booking response","value":{"status":"FAILED","error":{"message":"Could not find existing pickup order"}}}}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Modify pickup too many attempts response":{"description":"Modify pickup too many attempts response","value":{"status":"FAILED","error":{"message":"Too many attempts"}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Modify pickup unexpected error response":{"description":"Modify pickup unexpected error response","value":{"status":"FAILED","error":{"message":"An unexpected error occurred"}}}}}}}}}},"/api/create":{"post":{"tags":["pickup-order-api-resource"],"summary":"Order a pickup","operationId":"pickup","parameters":[{"name":"X-MyBring-API-Uid","in":"header","description":"Mybring login ID","required":true,"schema":{"type":"string"}},{"name":"X-MyBring-API-Key","in":"header","description":"Your user's API key","required":true,"schema":{"type":"string"}},{"name":"X-Bring-Test-Indicator","in":"header","description":"A boolean value indicating whether this is a test or not","required":true,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PickupOrderApiRequestDto"},"examples":{"Parcel pickup Norway":{"description":"Parcel pickup Norway","value":{"customerInformation":{"customerNumber":"************","companyName":"Norsk Bedrift AS"},"pickupAddress":{"street":"Testsvingen 12","postalCode":"0263","city":"OSLO","email":"norsk.bedrift@example.com","phoneNumber":"+4712345678","message":"Hentes på baksiden"},"pickupDate":"2015-12-03","pickupIsReadyAtTime":null,"pickupTimeZone":null,"countryCode":"NO","service":"PARCEL","pickupDetails":{"packages":{"count":2,"weightInGrams":1000},"pallets":{"count":1,"weightInGrams":15000},"postContainers":{"count":0}}}},"Parcel pickup International":{"description":"Parcel pickup International","value":{"customerInformation":{"customerNumber":"************","companyName":"Svensk Bedrift AS"},"pickupAddress":{"street":"Testsvingen 12","postalCode":"12000","city":"Stockholm","email":"svensk.bedrift@example.com","phoneNumber":"+46781234567","message":"Hentes på baksiden"},"pickupDate":"2015-12-03","pickupIsReadyAtTime":null,"pickupTimeZone":null,"countryCode":"SE","service":"PARCEL","pickupDetails":{"packages":{"count":2},"pallets":{"count":1},"weightInGrams":15000}}},"Groupage pickup":{"description":"Groupage pickup","value":{"customerInformation":{"customerNumber":"*******","companyName":"Norsk Bedrift AS"},"pickupAddress":{"street":"Testsvingen 12","postalCode":"0263","city":"OSLO","email":"norsk.bedrift@example.com","phoneNumber":"+4712345678","message":"Hentes på baksiden"},"pickupDate":"2015-12-03","pickupIsReadyAtTime":null,"pickupTimeZone":"Europe/Oslo","countryCode":"NO","service":"CARGO","pickupDetails":{"packages":{"count":2,"weightInGrams":1000,"volumeInDm3":40}}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/PickupOrderApiRequestDto"},"examples":{"Parcel pickup Norway":{"description":"Parcel pickup Norway","value":{"customerInformation":{"customerNumber":"************","companyName":"Norsk Bedrift AS"},"pickupAddress":{"street":"Testsvingen 12","postalCode":"0263","city":"OSLO","email":"norsk.bedrift@example.com","phoneNumber":"+4712345678","message":"Hentes på baksiden"},"pickupDate":"2015-12-03","pickupIsReadyAtTime":null,"pickupTimeZone":null,"countryCode":"NO","service":"PARCEL","pickupDetails":{"packages":{"count":2,"weightInGrams":1000},"pallets":{"count":1,"weightInGrams":15000},"postContainers":{"count":0}}}},"Parcel pickup International":{"description":"Parcel pickup International","value":{"customerInformation":{"customerNumber":"************","companyName":"Svensk Bedrift AS"},"pickupAddress":{"street":"Testsvingen 12","postalCode":"12000","city":"Stockholm","email":"svensk.bedrift@example.com","phoneNumber":"+46781234567","message":"Hentes på baksiden"},"pickupDate":"2015-12-03","pickupIsReadyAtTime":null,"pickupTimeZone":null,"countryCode":"SE","service":"PARCEL","pickupDetails":{"packages":{"count":2},"pallets":{"count":1},"weightInGrams":15000}}},"Groupage pickup":{"description":"Groupage pickup","value":{"customerInformation":{"customerNumber":"*******","companyName":"Norsk Bedrift AS"},"pickupAddress":{"street":"Testsvingen 12","postalCode":"0263","city":"OSLO","email":"norsk.bedrift@example.com","phoneNumber":"+4712345678","message":"Hentes på baksiden"},"pickupDate":"2015-12-03","pickupIsReadyAtTime":null,"pickupTimeZone":"Europe/Oslo","countryCode":"NO","service":"CARGO","pickupDetails":{"packages":{"count":2,"weightInGrams":1000,"volumeInDm3":40}}}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"},"examples":{"Pickup Order Response":{"description":"Pickup Order Response","value":{"pickupConfirmation":{"status":"OK","earliestPickupDate":1720159200000,"latestPickupDate":1720188000000,"url":"https://www.mybring.com/order-pickup/receipt/xxxxxxxxx","packageNumber":"123456789012345678","isoFormattedEarliestPickupDateTime":"2024-05-27T08:00:00.000+00:00","isoFormattedLatestPickupDateTime":"2024-05-27T16:00:00.000+00:00"},"errors":null}}}},"application/xml":{"schema":{"type":"string"},"examples":{"Pickup Order Response":{"description":"Pickup Order Response","value":"<pickupOrderResponse>\n    <pickupConfirmation>\n        <status>OK</status>\n        <earliestPickupDate>2024-05-27T08:00:00+00:00</earliestPickupDate>\n        <latestPickupDate>2024-05-27T16:00:00+00:00</latestPickupDate>\n        <url>https://www.mybring.com/order-pickup/receipt/xxxxxxxxx</url>\n        <packageNumber>123456789012345678</packageNumber>\n    </pickupConfirmation>\n</pickupOrderResponse>\n"}}}}},"400":{"description":"Bad Request","content":{"application/xml;charset=UTF-8":{"schema":{"type":"array","items":{"type":"string"}},"examples":{"INVALID_PRODUCT_ID":{"$ref":"#/components/examples/INVALID_PRODUCT_ID"},"INVALID_COUNTRY_CODE":{"$ref":"#/components/examples/INVALID_COUNTRY_CODE"},"UNAUTHORIZED":{"$ref":"#/components/examples/UNAUTHORIZED"},"ILLEGAL_PRODUCT_FOR_COUNTRY":{"$ref":"#/components/examples/ILLEGAL_PRODUCT_FOR_COUNTRY"},"PICKUP_UNEXPECTED_ERROR":{"$ref":"#/components/examples/PICKUP_UNEXPECTED_ERROR"},"PICKUP_INPUT_ERROR":{"$ref":"#/components/examples/PICKUP_INPUT_ERROR"},"PICKUP_INVALID_POSTALCODE":{"$ref":"#/components/examples/PICKUP_INVALID_POSTALCODE"},"PICKUP_INVALID_CARGO_PARCEL_INFORMATION":{"$ref":"#/components/examples/PICKUP_INVALID_CARGO_PARCEL_INFORMATION"},"PICKUP_NOT_APPLICABLE_FOR_CUSTOMER":{"$ref":"#/components/examples/PICKUP_NOT_APPLICABLE_FOR_CUSTOMER"},"PICKUP_INVALID_TIME":{"$ref":"#/components/examples/PICKUP_INVALID_TIME"},"PICKUP_INVALID_DATE":{"$ref":"#/components/examples/PICKUP_INVALID_DATE"},"PICKUP_DATE_IN_PAST":{"$ref":"#/components/examples/PICKUP_DATE_IN_PAST"},"PICKUP_INVALID_WEIGHT":{"$ref":"#/components/examples/PICKUP_INVALID_WEIGHT"},"PICKUP_NEGATIVE_FIELD":{"$ref":"#/components/examples/PICKUP_NEGATIVE_FIELD"},"PICKUP_MISSING_COUNTRY_CODE":{"$ref":"#/components/examples/PICKUP_MISSING_COUNTRY_CODE"},"SPECIFIC_PICKUP_POINT_DETAILS_REQ":{"$ref":"#/components/examples/SPECIFIC_PICKUP_POINT_DETAILS_REQ"},"INVALID_PICKUP_COUNTRY":{"$ref":"#/components/examples/INVALID_PICKUP_COUNTRY"},"PICKUP_TIME_IN_PAST":{"$ref":"#/components/examples/PICKUP_TIME_IN_PAST"},"PICKUP_INVALID_CHARGEABLE_WEIGHT":{"$ref":"#/components/examples/PICKUP_INVALID_CHARGEABLE_WEIGHT"},"PICKUP_INVALID_MULTIPLE_WEIGHT":{"$ref":"#/components/examples/PICKUP_INVALID_MULTIPLE_WEIGHT"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}},"examples":{"INVALID_PRODUCT_ID":{"$ref":"#/components/examples/INVALID_PRODUCT_ID"},"INVALID_COUNTRY_CODE":{"$ref":"#/components/examples/INVALID_COUNTRY_CODE"},"UNAUTHORIZED":{"$ref":"#/components/examples/UNAUTHORIZED"},"ILLEGAL_PRODUCT_FOR_COUNTRY":{"$ref":"#/components/examples/ILLEGAL_PRODUCT_FOR_COUNTRY"},"PICKUP_UNEXPECTED_ERROR":{"$ref":"#/components/examples/PICKUP_UNEXPECTED_ERROR"},"PICKUP_INPUT_ERROR":{"$ref":"#/components/examples/PICKUP_INPUT_ERROR"},"PICKUP_INVALID_POSTALCODE":{"$ref":"#/components/examples/PICKUP_INVALID_POSTALCODE"},"PICKUP_INVALID_CARGO_PARCEL_INFORMATION":{"$ref":"#/components/examples/PICKUP_INVALID_CARGO_PARCEL_INFORMATION"},"PICKUP_NOT_APPLICABLE_FOR_CUSTOMER":{"$ref":"#/components/examples/PICKUP_NOT_APPLICABLE_FOR_CUSTOMER"},"PICKUP_INVALID_TIME":{"$ref":"#/components/examples/PICKUP_INVALID_TIME"},"PICKUP_INVALID_DATE":{"$ref":"#/components/examples/PICKUP_INVALID_DATE"},"PICKUP_DATE_IN_PAST":{"$ref":"#/components/examples/PICKUP_DATE_IN_PAST"},"PICKUP_INVALID_WEIGHT":{"$ref":"#/components/examples/PICKUP_INVALID_WEIGHT"},"PICKUP_NEGATIVE_FIELD":{"$ref":"#/components/examples/PICKUP_NEGATIVE_FIELD"},"PICKUP_MISSING_COUNTRY_CODE":{"$ref":"#/components/examples/PICKUP_MISSING_COUNTRY_CODE"},"SPECIFIC_PICKUP_POINT_DETAILS_REQ":{"$ref":"#/components/examples/SPECIFIC_PICKUP_POINT_DETAILS_REQ"},"INVALID_PICKUP_COUNTRY":{"$ref":"#/components/examples/INVALID_PICKUP_COUNTRY"},"PICKUP_TIME_IN_PAST":{"$ref":"#/components/examples/PICKUP_TIME_IN_PAST"},"PICKUP_INVALID_CHARGEABLE_WEIGHT":{"$ref":"#/components/examples/PICKUP_INVALID_CHARGEABLE_WEIGHT"},"PICKUP_INVALID_MULTIPLE_WEIGHT":{"$ref":"#/components/examples/PICKUP_INVALID_MULTIPLE_WEIGHT"}}}}}}}},"/api/cancel/{shipmentnumber}":{"delete":{"tags":["Modify"],"summary":"Cancel a pickup order","operationId":"cancelPickupOrder","parameters":[{"name":"X-MyBring-API-Uid","in":"header","description":"Mybring login ID","required":true,"schema":{"type":"string"}},{"name":"X-MyBring-API-Key","in":"header","description":"Your user's API key","required":true,"schema":{"type":"string"}},{"name":"shipmentnumber","in":"path","description":"Shipment number","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Cancel pickup success response":{"description":"Cancel pickup success response","value":{"status":"ACCEPTED"}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Cancel pickup already picked up response":{"description":"Cancel pickup already picked up response","value":{"status":"FAILED","error":{"message":"Order has already been picked up"}}},"Cancel pickup order failed response":{"description":"Cancel pickup order failed response","value":{"status":"FAILED","error":{"message":"Order is invalid"}}},"Cancel pickup date expired response":{"description":"Cancel pickup date expired response","value":{"status":"FAILED","error":{"message":"Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."}}},"Cancel pickup date passed response":{"description":"Cancel pickup date passed response","value":{"status":"FAILED","error":{"message":"Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Cancel pickup unauthorized response":{"description":"Cancel pickup unauthorized response","value":{"status":"FAILED","error":{"message":"This user is not authorized to cancel or modify this booking"}}}}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Cancel pickup missing booking response":{"description":"Cancel pickup missing booking response","value":{"status":"FAILED","error":{"message":"Could not find existing pickup order"}}}}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Cancel pickup too many attempts response":{"description":"Cancel pickup too many attempts response","value":{"status":"FAILED","error":{"message":"Too many attempts"}}}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseDto"},"examples":{"Cancel pickup unexpected error response":{"description":"Cancel pickup unexpected error response","value":{"status":"FAILED","error":{"message":"An unexpected error occurred"}}}}}}}}}},"/api/pickup-options":{"get":{"tags":["Pickup Options"],"summary":"Get available pickup options","description":"Returns available pickup windows for a shipment context. `price` may be omitted.","operationId":"getPickupOptions","parameters":[{"name":"X-MyBring-API-Uid","in":"header","description":"Mybring login ID","required":true,"schema":{"type":"string"}},{"name":"X-MyBring-API-Key","in":"header","description":"Your user's API key","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"Shipment type.","required":true,"schema":{"type":"string","enum":["PARCEL","PARCEL_INTERNATIONAL","CARGO","MAILBOX"]},"example":"PARCEL"},{"name":"countryCode","in":"query","description":"Two-letter ISO-3166-1 country code","required":true,"schema":{"type":"string","maxLength":2,"minLength":2,"pattern":"^[A-Z]{2}$"},"example":false},{"name":"shippingDate","in":"query","description":"Shipment date.","required":true,"schema":{"type":"string","format":"date"},"example":"2026-05-15"},{"name":"postalCode","in":"query","description":"Postal code for pickup location.","required":true,"schema":{"type":"string"},"example":"0150"},{"name":"numberOfAlternativePickupDates","in":"query","description":"Number of additional pickup dates to return.","required":false,"schema":{"type":"number","minimum":0},"example":3},{"name":"customerNumber","in":"query","description":"Customer number for pricing.","required":false,"schema":{"type":"string"},"example":"123456789"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PickupOptionsResponse"},"examples":{"Example response with price":{"description":"Example response with price","value":{"price":{"amountWithVAT":535.0,"amountWithoutVAT":428.0,"vat":107.0},"pickupOptions":[{"date":"2026-05-15","from":"08:00:00","to":"16:00:00"},{"date":"2026-05-18","from":"08:00:00","to":"16:00:00"},{"date":"2026-05-19","from":"08:00:00","to":"16:00:00"},{"date":"2026-05-20","from":"08:00:00","to":"16:00:00"}]}}}}}},"400":{"description":"Invalid request parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"},"examples":{"Example validation response":{"description":"Example validation response","value":{"validationErrors":[{"code":"INVALID_POSTAL_CODE","message":"Postal code is invalid","field":"postalCode"},{"code":"COUNTRY_NOT_SUPPORTED","message":"Country is not supported for this pickup type","field":"countryCode"}]}}}}}}}}}},"components":{"schemas":{"ModifyPickupOrderRequest":{"type":"object","properties":{"date":{"type":"string","format":"date"}},"required":["date"]},"ErrorDto":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"ResponseDto":{"type":"object","properties":{"status":{"type":"string"},"error":{"$ref":"#/components/schemas/ErrorDto"}},"required":["status"]},"CustomerInformationDto":{"type":"object","properties":{"customerNumber":{"type":"string"},"companyName":{"type":"string"}},"required":["companyName","customerNumber"],"xml":{"name":"customerInformation","namespace":"http://www.bring.no/booking/"}},"Packages":{"type":"object","properties":{"weightInGrams":{"type":"integer","format":"int32","description":"Applicable for parcel pickups in Norway and Nordics and required for cargo pickup"},"volumeInDm3":{"type":"number","description":"Applicable and required for cargo pickup"},"count":{"type":"integer","format":"int32","description":"For giving number of packages. Applicable for parcel pickups in Norway and Nordics and cargo pickup"}},"required":["count"],"xml":{"name":"packages","namespace":"http://www.bring.no/booking/"}},"Pallets":{"type":"object","properties":{"weightInGrams":{"type":"integer","format":"int32","description":"Applicable for parcel pickups in Norway and Nordics"},"count":{"type":"integer","format":"int32","description":"For giving number of pallets. Applicable for parcel pickups in Norway and Nordics"}},"required":["count"],"xml":{"name":"pallets","namespace":"http://www.bring.no/booking/"}},"PickUpDetails":{"type":"object","properties":{"numberOfPackages":{"type":"integer","format":"int32","deprecated":true,"description":"This is deprecated. Use packages and count instead"},"numberOfPostContainers":{"type":"integer","format":"int32","deprecated":true,"description":"This is deprecated. Use postContainers and count instead"},"numberOfPallets":{"type":"integer","format":"int32","deprecated":true,"description":"This is deprecated. Use pallets and count instead"},"weightInGrams":{"type":"integer","format":"int32","description":"Applicable for pickup in Nordics"},"volumeInDm3":{"type":"number","deprecated":true,"description":"This is deprecated. Use packages and volumeInDm3 instead"},"packages":{"$ref":"#/components/schemas/Packages"},"pallets":{"$ref":"#/components/schemas/Pallets"},"postContainers":{"$ref":"#/components/schemas/PostContainers"}},"xml":{"name":"pickupDetails","namespace":"http://www.bring.no/booking/"}},"PickupAddressDto":{"type":"object","properties":{"street":{"type":"string"},"postalCode":{"type":"string"},"city":{"type":"string"},"email":{"type":"string","maxLength":60},"phoneNumber":{"type":"string"},"contactName":{"type":"string"},"message":{"type":"string","description":"Generic message to the driver","xml":{"name":"messageToDriver"}},"deliveryInstruction":{"type":"string","description":"Delivery instruction to the driver","xml":{"name":"deliveryInstructionToDriver"}}},"required":["city","email","phoneNumber","postalCode","street"],"xml":{"name":"pickupAddress","namespace":"http://www.bring.no/booking/"}},"PickupOrderApiRequestDto":{"type":"object","properties":{"testIndicator":{"type":"boolean","deprecated":true,"description":"Deprecated, use HTTP header instead. For test orders, set this to true","xml":{"attribute":true}},"service":{"type":"string","description":"The pickup service you want to book","enum":["PARCEL","CARGO"]},"customerInformation":{"$ref":"#/components/schemas/CustomerInformationDto"},"pickupAddress":{"$ref":"#/components/schemas/PickupAddressDto"},"pickupDate":{"type":"string"},"pickupIsReadyAtTime":{"type":"string","description":"Currently not in use"},"pickupTimeZone":{"type":"string"},"countryCode":{"type":"string","description":"Two-letter ISO-3166-1 country code"},"pickupDetails":{"$ref":"#/components/schemas/PickUpDetails"}},"required":["countryCode","customerInformation","pickupAddress","pickupDate","service"],"xml":{"name":"pickupOrderRequest","namespace":"http://www.bring.no/booking/"}},"PostContainers":{"type":"object","properties":{"weightInGrams":{"type":"integer","format":"int32","description":"Applicable for parcel pickups in Norway"},"count":{"type":"integer","format":"int32","description":"For giving number of postContainers. Applicable for parcel pickups in Norway"}},"required":["count"],"xml":{"name":"postContainers","namespace":"http://www.bring.no/booking/"}},"PickupOptionsResponse":{"type":"object","properties":{"price":{"$ref":"#/components/schemas/Price"},"pickupOptions":{"type":"array","items":{"$ref":"#/components/schemas/PickupOption"}}},"required":["pickupOptions"]},"Price":{"type":"object","properties":{"amountWithVAT":{"type":"number","format":"double","example":535.0},"amountWithoutVAT":{"type":"number","format":"double","example":428.0},"vat":{"type":"number","format":"double","example":107.0}},"required":["amountWithVAT","amountWithoutVAT","vat"]},"PickupOption":{"type":"object","properties":{"date":{"type":"string","format":"date","example":"2026-05-15"},"from":{"type":"string","format":"time","example":"08:00:00"},"to":{"type":"string","format":"time","example":"16:00:00"}},"required":["date","from","to"]},"ValidationErrorResponse":{"type":"object","properties":{"validationErrors":{"type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}},"required":["validationErrors"]},"ValidationError":{"type":"object","properties":{"code":{"type":"string","example":"INVALID_POSTAL_CODE"},"message":{"type":"string","example":"Postal code is invalid"},"field":{"type":"string","example":"postalCode"}},"required":["code","field","message"]}},"examples":{"INVALID_PRODUCT_ID":{"value":{"errors":[{"uniqueId":"20c507ef-a8e3-4b83-bc54-af4a7526b8cd","code":"BOOK-INPUT-020","messages":[{"lang":"en","message":"Invalid product ID"}]}]}},"INVALID_COUNTRY_CODE":{"value":{"errors":[{"uniqueId":"ed630a0a-a275-4625-a808-db1935802513","code":"BOOK-INPUT-028","messages":[{"lang":"en","message":"Invalid country code"}]}]}},"UNAUTHORIZED":{"value":{"errors":[{"uniqueId":"26c0b5a1-0acb-4575-b01c-387b5688d1b6","code":"BOOK-AUTHORIZATION-001","messages":[{"lang":"en","message":"Your user is not authorized to perform this action"}]}]}},"ILLEGAL_PRODUCT_FOR_COUNTRY":{"value":{"errors":[{"uniqueId":"1c3b4107-8494-47a1-abe9-b2e139ab6b16","code":"BOOK-INPUT-022","messages":[{"lang":"en","message":"Illegal product for country"}]}]}},"PICKUP_UNEXPECTED_ERROR":{"value":{"errors":[{"uniqueId":"212e21e6-dc49-4577-9b0c-c956901abd43","code":"PICKUP-INTERNAL-001","messages":[{"lang":"en","message":"An unexpected error occurred"}]}]}},"PICKUP_INPUT_ERROR":{"value":{"errors":[{"uniqueId":"7d6a923f-5b16-45b9-a65c-fe34f1befc5c","code":"PICKUP-INPUT-001","messages":[{"lang":"en","message":"Error with input in pickupOrder"}]}]}},"PICKUP_INVALID_POSTALCODE":{"value":{"errors":[{"uniqueId":"9bb3eaca-b838-4987-8cfb-4d725ffb7792","code":"PICKUP-INPUT-002","messages":[{"lang":"en","message":"Postal code must be given and be valid"}]}]}},"PICKUP_INVALID_CARGO_PARCEL_INFORMATION":{"value":{"errors":[{"uniqueId":"a4ce8255-cc6a-4458-bc78-6ed7153e6a83","code":"PICKUP-INPUT-003","messages":[{"lang":"en","message":"Cargo customer must provide cargoInformation element. Parcel customer must provide parcelsInformation element"}]}]}},"PICKUP_NOT_APPLICABLE_FOR_CUSTOMER":{"value":{"errors":[{"uniqueId":"04788599-e3bb-4673-a62f-d730aa9894f1","code":"PICKUP-INPUT-004","messages":[{"lang":"en","message":"This customer number cannot be used to order Pickup"}]}]}},"PICKUP_INVALID_TIME":{"value":{"errors":[{"uniqueId":"6da34008-a18c-4ad5-90b3-070617614b81","code":"PICKUP-INPUT-005","messages":[{"lang":"en","message":"You must specify pickupIsReadyAtTime element HH:mm:ss"}]}]}},"PICKUP_INVALID_DATE":{"value":{"errors":[{"uniqueId":"b7f18c20-4ea1-4e3e-91d6-b0769a083f1e","code":"PICKUP-INPUT-006","messages":[{"lang":"en","message":"You must specify pickupDate element yyyy-MM-dd"}]}]}},"PICKUP_DATE_IN_PAST":{"value":{"errors":[{"uniqueId":"23e96191-ddf5-44fc-babd-664a4881a3e2","code":"PICKUP-INPUT-007","messages":[{"lang":"en","message":"Pickup date must be in the future"}]}]}},"PICKUP_INVALID_WEIGHT":{"value":{"errors":[{"uniqueId":"cad0c29f-f494-41a0-9008-599af276c252","code":"PICKUP-INPUT-008","messages":[{"lang":"en","message":"weightInGrams is required, and must be an integer larger than zero"}]}]}},"PICKUP_NEGATIVE_FIELD":{"value":{"errors":[{"uniqueId":"458a14a6-e54c-4a18-a725-ce3c516151ca","code":"PICKUP-INPUT-009","messages":[{"lang":"en","message":"Must be an integer larger than zero"}]}]}},"PICKUP_MISSING_COUNTRY_CODE":{"value":{"errors":[{"uniqueId":"f50c6e5b-ee49-45bb-be7d-81a3915b50c6","code":"PICKUP-INPUT-010","messages":[{"lang":"en","message":"Country code is required"}]}]}},"SPECIFIC_PICKUP_POINT_DETAILS_REQ":{"value":{"errors":[{"uniqueId":"e176c6d8-d250-40c8-b264-e646500f1030","code":"PICKUP-INPUT-011","messages":[{"lang":"en","message":"Both Pickup Point ID and Country Code is Required"}]}]}},"INVALID_PICKUP_COUNTRY":{"value":{"errors":[{"uniqueId":"c29e3983-17ab-47db-97f9-27b616bf1811","code":"PICKUP-INPUT-012","messages":[{"lang":"en","message":"Selected pickup point should be in recipient country"}]}]}},"PICKUP_TIME_IN_PAST":{"value":{"errors":[{"uniqueId":"785ba8c8-5be5-472b-8098-f62a0a1eac54","code":"PICKUP-INPUT-013","messages":[{"lang":"en","message":"Combination pickupIsReadyAtTime and pickupDate must be in the future"}]}]}},"PICKUP_INVALID_CHARGEABLE_WEIGHT":{"value":{"errors":[{"uniqueId":"89afde6b-c946-42fb-af35-00a74ad97217","code":"PICKUP-INPUT-015","messages":[{"lang":"en","message":"Chargeable weight must be below groupage max weight limit"}]}]}},"PICKUP_INVALID_MULTIPLE_WEIGHT":{"value":{"errors":[{"uniqueId":"97f990bb-ed43-467e-9d9f-8b5bc11780b3","code":"PICKUP-INPUT-016","messages":[{"lang":"en","message":"Must either have weightInGrams in pickupDetails, or on package or pallets level. Can not have both"}]}]}}}}}