> For the complete documentation index, see [llms.txt](https://giremobility.gitbook.io/api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://giremobility.gitbook.io/api/v3/puds.md).

# PUDs

{% hint style="info" %}
**Create a test account to get started.**

[Test Account Setup](/api/v3/test-account-setup.md)
{% endhint %}

## Create a PUD

To create a PUD you must specify the interval you wish to use. The opposite interval will then be calculated based on the estimated driving and handling time.

{% tabs %}
{% tab title="Pickup interval" %}

<figure><img src="/files/o2O6x64ObMmjMiV6ENsU" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Delivery interval" %}

<figure><img src="/files/g6FZ1ju6wNUV9iW4jVNz" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Create Pud

> Create a Pud

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds":{"post":{"description":"Create a Pud","operationId":"ApiController_createPud","parameters":[{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePudDto"}}}},"responses":{"201":{"description":"Pud created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudResponse"}}}},"400":{"description":"INVALID_BOOKING_INTERVAL\n\nVALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationExceptionDto"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}},"403":{"description":"BOOKING_BAN","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingBanExceptionDto"}}}},"409":{"description":"BOOKING_BLOCKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingBlockedExceptionDto"}}}},"422":{"description":"Unprocessable entity, multiple error types possible. See examples.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AddressNotFoundExceptionDto"},{"$ref":"#/components/schemas/PartialAddressExceptionDto"}]}}}}},"summary":"Create Pud","tags":["[API] Pud"]}}},"components":{"schemas":{"CreatePudDto":{"type":"object","properties":{"companyId":{"type":"string","description":"Specify ID of company to place booking"},"pickup":{"$ref":"#/components/schemas/LocationRequestDto"},"delivery":{"$ref":"#/components/schemas/LocationRequestDto"},"interval":{"$ref":"#/components/schemas/IntervalRequestDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"addons":{"description":"Addons to include. See your available addons by using the /me endpoint","type":"array","items":{"type":"array"}},"comment":{"type":"string","description":"Comment"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["pickup","delivery","interval","vehicle","customer"]},"LocationRequestDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"}},"required":["address","postalCode"]},"IntervalRequestDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"},"type":{"type":"string","description":"Type of interval","enum":["pickup","delivery","full"]}},"required":["start","end","type"]},"VehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"},"temporaryPlates":{"type":"string","description":"Temporary number plates"}},"required":["model","regNumber","temporaryPlates"]},"CustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}},"required":["name","phone"]},"PudResponse":{"type":"object","properties":{"id":{"type":"string","description":"id"},"pickup":{"$ref":"#/components/schemas/LocationResponseDto"},"delivery":{"$ref":"#/components/schemas/LocationResponseDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"driver":{"$ref":"#/components/schemas/DriverDto"},"price":{"$ref":"#/components/schemas/PriceDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"tripDetails":{"$ref":"#/components/schemas/TripDetailsDto"},"status":{"type":"string","description":"Status of the trip","enum":["new","delegated","pre_trip_inspection","in_progress","post_trip_inspection","missed_trip","completed","cancelled"]},"comment":{"type":"string","description":"Comment"},"pickupCode":{"type":"string","description":"Pickup code"},"createdAt":{"format":"date-time","type":"string","description":"Created at"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"adminComment":{"type":"string","description":"Admin comment"},"companyId":{"type":"string","description":"The company which the pud belongs to"},"companyName":{"type":"string","description":"The name of the company which the pud belongs to"},"addons":{"description":"Addons for this trip","type":"array","items":{"type":"string"}},"missedTripReason":{"type":"string","description":"Missed trip reason"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["id","pickup","delivery","vehicle","driver","price","customer","tripDetails","status","comment","pickupCode","createdAt","updatedAt","adminComment","companyId","companyName","addons"]},"LocationResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"},"interval":{"$ref":"#/components/schemas/IntervalResponseDto"}},"required":["address","postalCode","interval"]},"IntervalResponseDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"}},"required":["start","end"]},"DriverDto":{"type":"object","properties":{"name":{"type":"string","description":"Driver name"},"phone":{"type":"string","description":"Driver phone number"},"photo":{"type":"string","description":"Driver photo"}},"required":["name","phone"]},"PriceDto":{"type":"object","properties":{"price":{"type":"number","description":"Price"},"currency":{"type":"string","description":"Currency"},"outOfArea":{"type":"boolean","description":"Is trip out of area?"}},"required":["price","currency","outOfArea"]},"TripDetailsDto":{"type":"object","properties":{"preDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"postDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"startedAt":{"type":"string","description":"Trip start time"},"endedAt":{"type":"string","description":"Trip end time"}}},"PrePostDriveDto":{"type":"object","properties":{"comment":{"type":"string","description":"Driver comment"},"mileage":{"type":"number","description":"Mileage"},"photos":{"description":"Photos","type":"array","items":{"$ref":"#/components/schemas/PhotoDto"}}}},"PhotoDto":{"type":"object","properties":{"original":{"type":"string","description":"Original photo"},"thumbnail":{"type":"string","description":"Thumbnail photo"}},"required":["original","thumbnail"]},"ValidationExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"BookingBanExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"BookingBlockedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"AddressNotFoundExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"PartialAddressExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"description":"Additional error data (optional)","allOf":[{"$ref":"#/components/schemas/PartialAddressExceptionDataDto"}]}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"PartialAddressExceptionDataDto":{"type":"object","properties":{"partialAddresses":{"type":"array","description":"Request address fields that Google partially matched","items":{"type":"string","enum":["pickup","delivery","returnDelivery"]}}},"required":["partialAddresses"]}}}}
```

## Create immediate return Pud

> Create a Pud with immediate return. The interval type is for the outbound leg.

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/immediate-return":{"post":{"description":"Create a Pud with immediate return. The interval type is for the outbound leg.","operationId":"ApiController_createImmediateReturnPud","parameters":[{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImmediateReturnDto"}}}},"responses":{"201":{"description":"Immediate return Pud created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImmediateReturnResponse"}}}},"400":{"description":"INVALID_BOOKING_INTERVAL\n\nVALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationExceptionDto"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}},"403":{"description":"BOOKING_BAN","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingBanExceptionDto"}}}},"409":{"description":"BOOKING_BLOCKED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingBlockedExceptionDto"}}}},"422":{"description":"Unprocessable entity, multiple error types possible. See examples.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AddressNotFoundExceptionDto"},{"$ref":"#/components/schemas/PartialAddressExceptionDto"}]}}}}},"summary":"Create immediate return Pud","tags":["[API] Pud"]}}},"components":{"schemas":{"CreateImmediateReturnDto":{"type":"object","properties":{"companyId":{"type":"string","description":"Specify ID of company to place booking"},"pickup":{"$ref":"#/components/schemas/LocationRequestDto"},"delivery":{"$ref":"#/components/schemas/LocationRequestDto"},"interval":{"$ref":"#/components/schemas/IntervalRequestDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"addons":{"description":"Addons to include. See your available addons by using the /me endpoint","type":"array","items":{"type":"array"}},"comment":{"type":"string","description":"Comment"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"},"returnDelivery":{"$ref":"#/components/schemas/LocationRequestDto"},"returnVehicle":{"$ref":"#/components/schemas/VehicleDto"}},"required":["pickup","delivery","interval","vehicle","customer","returnDelivery","returnVehicle"]},"LocationRequestDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"}},"required":["address","postalCode"]},"IntervalRequestDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"},"type":{"type":"string","description":"Type of interval","enum":["pickup","delivery","full"]}},"required":["start","end","type"]},"VehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"},"temporaryPlates":{"type":"string","description":"Temporary number plates"}},"required":["model","regNumber","temporaryPlates"]},"CustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}},"required":["name","phone"]},"ImmediateReturnResponse":{"type":"object","properties":{"outboundPud":{"$ref":"#/components/schemas/PudResponse"},"returnPud":{"$ref":"#/components/schemas/PudResponse"}},"required":["outboundPud","returnPud"]},"PudResponse":{"type":"object","properties":{"id":{"type":"string","description":"id"},"pickup":{"$ref":"#/components/schemas/LocationResponseDto"},"delivery":{"$ref":"#/components/schemas/LocationResponseDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"driver":{"$ref":"#/components/schemas/DriverDto"},"price":{"$ref":"#/components/schemas/PriceDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"tripDetails":{"$ref":"#/components/schemas/TripDetailsDto"},"status":{"type":"string","description":"Status of the trip","enum":["new","delegated","pre_trip_inspection","in_progress","post_trip_inspection","missed_trip","completed","cancelled"]},"comment":{"type":"string","description":"Comment"},"pickupCode":{"type":"string","description":"Pickup code"},"createdAt":{"format":"date-time","type":"string","description":"Created at"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"adminComment":{"type":"string","description":"Admin comment"},"companyId":{"type":"string","description":"The company which the pud belongs to"},"companyName":{"type":"string","description":"The name of the company which the pud belongs to"},"addons":{"description":"Addons for this trip","type":"array","items":{"type":"string"}},"missedTripReason":{"type":"string","description":"Missed trip reason"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["id","pickup","delivery","vehicle","driver","price","customer","tripDetails","status","comment","pickupCode","createdAt","updatedAt","adminComment","companyId","companyName","addons"]},"LocationResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"},"interval":{"$ref":"#/components/schemas/IntervalResponseDto"}},"required":["address","postalCode","interval"]},"IntervalResponseDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"}},"required":["start","end"]},"DriverDto":{"type":"object","properties":{"name":{"type":"string","description":"Driver name"},"phone":{"type":"string","description":"Driver phone number"},"photo":{"type":"string","description":"Driver photo"}},"required":["name","phone"]},"PriceDto":{"type":"object","properties":{"price":{"type":"number","description":"Price"},"currency":{"type":"string","description":"Currency"},"outOfArea":{"type":"boolean","description":"Is trip out of area?"}},"required":["price","currency","outOfArea"]},"TripDetailsDto":{"type":"object","properties":{"preDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"postDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"startedAt":{"type":"string","description":"Trip start time"},"endedAt":{"type":"string","description":"Trip end time"}}},"PrePostDriveDto":{"type":"object","properties":{"comment":{"type":"string","description":"Driver comment"},"mileage":{"type":"number","description":"Mileage"},"photos":{"description":"Photos","type":"array","items":{"$ref":"#/components/schemas/PhotoDto"}}}},"PhotoDto":{"type":"object","properties":{"original":{"type":"string","description":"Original photo"},"thumbnail":{"type":"string","description":"Thumbnail photo"}},"required":["original","thumbnail"]},"ValidationExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"BookingBanExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"BookingBlockedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"AddressNotFoundExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"PartialAddressExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"description":"Additional error data (optional)","allOf":[{"$ref":"#/components/schemas/PartialAddressExceptionDataDto"}]}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"PartialAddressExceptionDataDto":{"type":"object","properties":{"partialAddresses":{"type":"array","description":"Request address fields that Google partially matched","items":{"type":"string","enum":["pickup","delivery","returnDelivery"]}}},"required":["partialAddresses"]}}}}
```

{% hint style="info" %}
Immediate return bookings are eligible for a 25% discount:

:white\_check\_mark:    A-B-A bookings&#x20;

:white\_check\_mark:    A-B-C bookings (within standard delivery area)

:x:    A-B-C bookings (one or more locations outside standard delivery area)
{% endhint %}

{% hint style="info" %}
For an immediate return PUD, the interval type specified is for the first leg of the trip.
{% endhint %}

***

## Cancel a PUD

You can cancel a PUD as long as it isn't in progress. However, you will only receive a refund if the cancellation happens more than 12 hours before the pickup time. Cancellations after this point are considered missed trips.

## Cancel Pud

> Cancel a Pud by id. If Pud is part of an immediate return Pud, both legs will be cancelled.

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/{id}":{"delete":{"description":"Cancel a Pud by id. If Pud is part of an immediate return Pud, both legs will be cancelled.","operationId":"ApiController_cancelPud","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Pud successfully cancelled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudResponse"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundExceptionDto"}}}},"409":{"description":"CANNOT_CANCEL_PUD","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannotCancelPudExceptionDto"}}}}},"summary":"Cancel Pud","tags":["[API] Pud"]}}},"components":{"schemas":{"PudResponse":{"type":"object","properties":{"id":{"type":"string","description":"id"},"pickup":{"$ref":"#/components/schemas/LocationResponseDto"},"delivery":{"$ref":"#/components/schemas/LocationResponseDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"driver":{"$ref":"#/components/schemas/DriverDto"},"price":{"$ref":"#/components/schemas/PriceDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"tripDetails":{"$ref":"#/components/schemas/TripDetailsDto"},"status":{"type":"string","description":"Status of the trip","enum":["new","delegated","pre_trip_inspection","in_progress","post_trip_inspection","missed_trip","completed","cancelled"]},"comment":{"type":"string","description":"Comment"},"pickupCode":{"type":"string","description":"Pickup code"},"createdAt":{"format":"date-time","type":"string","description":"Created at"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"adminComment":{"type":"string","description":"Admin comment"},"companyId":{"type":"string","description":"The company which the pud belongs to"},"companyName":{"type":"string","description":"The name of the company which the pud belongs to"},"addons":{"description":"Addons for this trip","type":"array","items":{"type":"string"}},"missedTripReason":{"type":"string","description":"Missed trip reason"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["id","pickup","delivery","vehicle","driver","price","customer","tripDetails","status","comment","pickupCode","createdAt","updatedAt","adminComment","companyId","companyName","addons"]},"LocationResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"},"interval":{"$ref":"#/components/schemas/IntervalResponseDto"}},"required":["address","postalCode","interval"]},"IntervalResponseDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"}},"required":["start","end"]},"VehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"},"temporaryPlates":{"type":"string","description":"Temporary number plates"}},"required":["model","regNumber","temporaryPlates"]},"DriverDto":{"type":"object","properties":{"name":{"type":"string","description":"Driver name"},"phone":{"type":"string","description":"Driver phone number"},"photo":{"type":"string","description":"Driver photo"}},"required":["name","phone"]},"PriceDto":{"type":"object","properties":{"price":{"type":"number","description":"Price"},"currency":{"type":"string","description":"Currency"},"outOfArea":{"type":"boolean","description":"Is trip out of area?"}},"required":["price","currency","outOfArea"]},"CustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}},"required":["name","phone"]},"TripDetailsDto":{"type":"object","properties":{"preDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"postDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"startedAt":{"type":"string","description":"Trip start time"},"endedAt":{"type":"string","description":"Trip end time"}}},"PrePostDriveDto":{"type":"object","properties":{"comment":{"type":"string","description":"Driver comment"},"mileage":{"type":"number","description":"Mileage"},"photos":{"description":"Photos","type":"array","items":{"$ref":"#/components/schemas/PhotoDto"}}}},"PhotoDto":{"type":"object","properties":{"original":{"type":"string","description":"Original photo"},"thumbnail":{"type":"string","description":"Thumbnail photo"}},"required":["original","thumbnail"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"NotFoundExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"CannotCancelPudExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

***

## Update a PUD

You can update certain information about a PUD, like contact and vehicle information.

## Update Pud

> Update a Pud by id

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/{id}":{"patch":{"description":"Update a Pud by id","operationId":"ApiController_updatePud","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePudDto"}}}},"responses":{"200":{"description":"Pud updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudResponse"}}}},"400":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationExceptionDto"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundExceptionDto"}}}}},"summary":"Update Pud","tags":["[API] Pud"]}}},"components":{"schemas":{"UpdatePudDto":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/UpdateCustomerDto"},"pickup":{"$ref":"#/components/schemas/UpdateLocationDto"},"delivery":{"$ref":"#/components/schemas/UpdateLocationDto"},"vehicle":{"$ref":"#/components/schemas/UpdateVehicleDto"},"comment":{"type":"string","description":"Comment"},"referenceNumber":{"type":"string","description":"Reference number"},"hyreBookingId":{"type":"string","description":"Hyre booking id"}}},"UpdateCustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}}},"UpdateLocationDto":{"type":"object","properties":{"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"}}},"UpdateVehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"}}},"PudResponse":{"type":"object","properties":{"id":{"type":"string","description":"id"},"pickup":{"$ref":"#/components/schemas/LocationResponseDto"},"delivery":{"$ref":"#/components/schemas/LocationResponseDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"driver":{"$ref":"#/components/schemas/DriverDto"},"price":{"$ref":"#/components/schemas/PriceDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"tripDetails":{"$ref":"#/components/schemas/TripDetailsDto"},"status":{"type":"string","description":"Status of the trip","enum":["new","delegated","pre_trip_inspection","in_progress","post_trip_inspection","missed_trip","completed","cancelled"]},"comment":{"type":"string","description":"Comment"},"pickupCode":{"type":"string","description":"Pickup code"},"createdAt":{"format":"date-time","type":"string","description":"Created at"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"adminComment":{"type":"string","description":"Admin comment"},"companyId":{"type":"string","description":"The company which the pud belongs to"},"companyName":{"type":"string","description":"The name of the company which the pud belongs to"},"addons":{"description":"Addons for this trip","type":"array","items":{"type":"string"}},"missedTripReason":{"type":"string","description":"Missed trip reason"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["id","pickup","delivery","vehicle","driver","price","customer","tripDetails","status","comment","pickupCode","createdAt","updatedAt","adminComment","companyId","companyName","addons"]},"LocationResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"},"interval":{"$ref":"#/components/schemas/IntervalResponseDto"}},"required":["address","postalCode","interval"]},"IntervalResponseDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"}},"required":["start","end"]},"VehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"},"temporaryPlates":{"type":"string","description":"Temporary number plates"}},"required":["model","regNumber","temporaryPlates"]},"DriverDto":{"type":"object","properties":{"name":{"type":"string","description":"Driver name"},"phone":{"type":"string","description":"Driver phone number"},"photo":{"type":"string","description":"Driver photo"}},"required":["name","phone"]},"PriceDto":{"type":"object","properties":{"price":{"type":"number","description":"Price"},"currency":{"type":"string","description":"Currency"},"outOfArea":{"type":"boolean","description":"Is trip out of area?"}},"required":["price","currency","outOfArea"]},"CustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}},"required":["name","phone"]},"TripDetailsDto":{"type":"object","properties":{"preDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"postDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"startedAt":{"type":"string","description":"Trip start time"},"endedAt":{"type":"string","description":"Trip end time"}}},"PrePostDriveDto":{"type":"object","properties":{"comment":{"type":"string","description":"Driver comment"},"mileage":{"type":"number","description":"Mileage"},"photos":{"description":"Photos","type":"array","items":{"$ref":"#/components/schemas/PhotoDto"}}}},"PhotoDto":{"type":"object","properties":{"original":{"type":"string","description":"Original photo"},"thumbnail":{"type":"string","description":"Thumbnail photo"}},"required":["original","thumbnail"]},"ValidationExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"NotFoundExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

***

## Get PUD

You can retrieve&#x20;

## Get Pud

> Get Pud by id

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/{id}":{"get":{"description":"Get Pud by id","operationId":"ApiController_getPud","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Pud found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudResponse"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundExceptionDto"}}}}},"summary":"Get Pud","tags":["[API] Pud"]}}},"components":{"schemas":{"PudResponse":{"type":"object","properties":{"id":{"type":"string","description":"id"},"pickup":{"$ref":"#/components/schemas/LocationResponseDto"},"delivery":{"$ref":"#/components/schemas/LocationResponseDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"driver":{"$ref":"#/components/schemas/DriverDto"},"price":{"$ref":"#/components/schemas/PriceDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"tripDetails":{"$ref":"#/components/schemas/TripDetailsDto"},"status":{"type":"string","description":"Status of the trip","enum":["new","delegated","pre_trip_inspection","in_progress","post_trip_inspection","missed_trip","completed","cancelled"]},"comment":{"type":"string","description":"Comment"},"pickupCode":{"type":"string","description":"Pickup code"},"createdAt":{"format":"date-time","type":"string","description":"Created at"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"adminComment":{"type":"string","description":"Admin comment"},"companyId":{"type":"string","description":"The company which the pud belongs to"},"companyName":{"type":"string","description":"The name of the company which the pud belongs to"},"addons":{"description":"Addons for this trip","type":"array","items":{"type":"string"}},"missedTripReason":{"type":"string","description":"Missed trip reason"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["id","pickup","delivery","vehicle","driver","price","customer","tripDetails","status","comment","pickupCode","createdAt","updatedAt","adminComment","companyId","companyName","addons"]},"LocationResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"},"interval":{"$ref":"#/components/schemas/IntervalResponseDto"}},"required":["address","postalCode","interval"]},"IntervalResponseDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"}},"required":["start","end"]},"VehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"},"temporaryPlates":{"type":"string","description":"Temporary number plates"}},"required":["model","regNumber","temporaryPlates"]},"DriverDto":{"type":"object","properties":{"name":{"type":"string","description":"Driver name"},"phone":{"type":"string","description":"Driver phone number"},"photo":{"type":"string","description":"Driver photo"}},"required":["name","phone"]},"PriceDto":{"type":"object","properties":{"price":{"type":"number","description":"Price"},"currency":{"type":"string","description":"Currency"},"outOfArea":{"type":"boolean","description":"Is trip out of area?"}},"required":["price","currency","outOfArea"]},"CustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}},"required":["name","phone"]},"TripDetailsDto":{"type":"object","properties":{"preDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"postDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"startedAt":{"type":"string","description":"Trip start time"},"endedAt":{"type":"string","description":"Trip end time"}}},"PrePostDriveDto":{"type":"object","properties":{"comment":{"type":"string","description":"Driver comment"},"mileage":{"type":"number","description":"Mileage"},"photos":{"description":"Photos","type":"array","items":{"$ref":"#/components/schemas/PhotoDto"}}}},"PhotoDto":{"type":"object","properties":{"original":{"type":"string","description":"Original photo"},"thumbnail":{"type":"string","description":"Thumbnail photo"}},"required":["original","thumbnail"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"NotFoundExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

## Get PUD list

> Get PUD list for a company

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/list":{"get":{"description":"Get PUD list for a company","operationId":"ApiController_getPudList","parameters":[{"name":"companyIds","required":false,"in":"query","description":"Narrow results to specific companies within the key's scope (comma-separated or repeated). Omit to return everything the key can see.","schema":{"type":"array","items":{"type":"string"}}},{"name":"page","required":false,"in":"query","description":"The page number to return","schema":{"default":1,"type":"number"}},{"name":"pageSize","required":false,"in":"query","description":"The number of items to return per page","schema":{"default":10,"type":"number"}},{"name":"pickupDateFrom","required":false,"in":"query","description":"The date to filter by pickup date from","schema":{"format":"date-time","type":"string"}},{"name":"pickupDateTo","required":false,"in":"query","description":"The date to filter by pickup date to","schema":{"format":"date-time","type":"string"}},{"name":"search","required":false,"in":"query","description":"The search query to filter by","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"The status to filter by","schema":{"type":"string"}},{"name":"sortBy","required":false,"in":"query","description":"The field to sort by","schema":{"default":"createdAt","type":"string"}},{"name":"sortDirection","required":false,"in":"query","description":"The direction to sort by","schema":{"default":"desc","type":"string"}},{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Pud list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudListResponse"}}}},"400":{"description":"VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationExceptionDto"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}}},"summary":"Get PUD list","tags":["[API] Pud"]}}},"components":{"schemas":{"PudListResponse":{"type":"object","properties":{"metadata":{"description":"Metadata","allOf":[{"$ref":"#/components/schemas/PudListMetadata"}]},"data":{"description":"List of PUDs","type":"array","items":{"type":"array"}}},"required":["metadata","data"]},"PudListMetadata":{"type":"object","properties":{"total":{"type":"number","description":"Total number of PUDs matching the query"},"search":{"type":"string","description":"Search query"},"status":{"type":"string","description":"Status"},"pickupDateFrom":{"format":"date-time","type":"string","description":"Pickup date from"},"pickupDateTo":{"format":"date-time","type":"string","description":"Pickup date to"},"page":{"type":"number","description":"Current page number"},"pageSize":{"type":"number","description":"Number of items per page"},"sortBy":{"type":"string","description":"Sort by field"},"sortDirection":{"type":"string","description":"Sort direction"}},"required":["total","search","status","pickupDateFrom","pickupDateTo","page","pageSize","sortBy","sortDirection"]},"ValidationExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

## Get Puds

> Get Puds for a company

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds":{"get":{"deprecated":true,"description":"Get Puds for a company","operationId":"ApiController_getPuds","parameters":[{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Puds found","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PudResponse"}}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}}},"summary":"Get Puds","tags":["[API] Pud"]}}},"components":{"schemas":{"PudResponse":{"type":"object","properties":{"id":{"type":"string","description":"id"},"pickup":{"$ref":"#/components/schemas/LocationResponseDto"},"delivery":{"$ref":"#/components/schemas/LocationResponseDto"},"vehicle":{"$ref":"#/components/schemas/VehicleDto"},"driver":{"$ref":"#/components/schemas/DriverDto"},"price":{"$ref":"#/components/schemas/PriceDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"tripDetails":{"$ref":"#/components/schemas/TripDetailsDto"},"status":{"type":"string","description":"Status of the trip","enum":["new","delegated","pre_trip_inspection","in_progress","post_trip_inspection","missed_trip","completed","cancelled"]},"comment":{"type":"string","description":"Comment"},"pickupCode":{"type":"string","description":"Pickup code"},"createdAt":{"format":"date-time","type":"string","description":"Created at"},"updatedAt":{"format":"date-time","type":"string","description":"Updated at"},"adminComment":{"type":"string","description":"Admin comment"},"companyId":{"type":"string","description":"The company which the pud belongs to"},"companyName":{"type":"string","description":"The name of the company which the pud belongs to"},"addons":{"description":"Addons for this trip","type":"array","items":{"type":"string"}},"missedTripReason":{"type":"string","description":"Missed trip reason"},"hyreBookingId":{"type":"string","description":"Hyre booking id"},"referenceNumber":{"type":"string","description":"Reference number"}},"required":["id","pickup","delivery","vehicle","driver","price","customer","tripDetails","status","comment","pickupCode","createdAt","updatedAt","adminComment","companyId","companyName","addons"]},"LocationResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address"},"postalCode":{"type":"string","description":"Postal code"},"comment":{"type":"string","description":"Comment for driver"},"contactName":{"type":"string","description":"Contact name"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"notifyViaSMS":{"type":"boolean","description":"Enable SMS notifications"},"interval":{"$ref":"#/components/schemas/IntervalResponseDto"}},"required":["address","postalCode","interval"]},"IntervalResponseDto":{"type":"object","properties":{"start":{"type":"string","description":"Start date and time","format":"date-time"},"end":{"type":"string","description":"End date and time","format":"date-time"}},"required":["start","end"]},"VehicleDto":{"type":"object","properties":{"model":{"type":"string","description":"Vehicle model"},"regNumber":{"type":"string","description":"License plate number"},"temporaryPlates":{"type":"string","description":"Temporary number plates"}},"required":["model","regNumber","temporaryPlates"]},"DriverDto":{"type":"object","properties":{"name":{"type":"string","description":"Driver name"},"phone":{"type":"string","description":"Driver phone number"},"photo":{"type":"string","description":"Driver photo"}},"required":["name","phone"]},"PriceDto":{"type":"object","properties":{"price":{"type":"number","description":"Price"},"currency":{"type":"string","description":"Currency"},"outOfArea":{"type":"boolean","description":"Is trip out of area?"}},"required":["price","currency","outOfArea"]},"CustomerDto":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone number"},"email":{"type":"string","description":"Email"}},"required":["name","phone"]},"TripDetailsDto":{"type":"object","properties":{"preDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"postDrive":{"$ref":"#/components/schemas/PrePostDriveDto"},"startedAt":{"type":"string","description":"Trip start time"},"endedAt":{"type":"string","description":"Trip end time"}}},"PrePostDriveDto":{"type":"object","properties":{"comment":{"type":"string","description":"Driver comment"},"mileage":{"type":"number","description":"Mileage"},"photos":{"description":"Photos","type":"array","items":{"$ref":"#/components/schemas/PhotoDto"}}}},"PhotoDto":{"type":"object","properties":{"original":{"type":"string","description":"Original photo"},"thumbnail":{"type":"string","description":"Thumbnail photo"}},"required":["original","thumbnail"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

## Get Pud count

> Get Pud count for a company

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/count":{"get":{"description":"Get Pud count for a company","operationId":"ApiController_getPudCount","parameters":[{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Pud count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudCountResponse"}}}},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}}},"summary":"Get Pud count","tags":["[API] Pud"]}}},"components":{"schemas":{"PudCountResponse":{"type":"object","properties":{"count":{"type":"number","description":"count"}},"required":["count"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

## Upload Pud attachment

> Upload a PDF attachment to a Pud by id

```json
{"openapi":"3.0.0","info":{"title":"Gire Public API","version":"3.0"},"paths":{"/api/v3/puds/{id}/attachments":{"post":{"description":"Upload a PDF attachment to a Pud by id","operationId":"ApiController_uploadPudAttachment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"x-api-token","in":"header","description":"Company API key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UploadPudAttachmentDto"}}}},"responses":{"201":{"description":"Pud attachment uploaded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PudAttachmentResponseDto"}}}},"400":{"description":"No file uploaded, unsupported file type, or file too large"},"401":{"description":"UNAUTHORIZED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedExceptionDto"}}}},"404":{"description":"NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundExceptionDto"}}}}},"summary":"Upload Pud attachment","tags":["[API] Pud"]}}},"components":{"schemas":{"UploadPudAttachmentDto":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"PDF file to attach to the Pud"}},"required":["file"]},"PudAttachmentResponseDto":{"type":"object","properties":{"id":{"type":"string","description":"Attachment id"},"fileName":{"type":"string","description":"Original file name"},"origin":{"type":"string","description":"Public file URL"}},"required":["id","fileName","origin"]},"UnauthorizedExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]},"NotFoundExceptionDto":{"type":"object","properties":{"errorType":{"type":"string","description":"Specific error type code","enum":["NOT_IMPLEMENTED","VALIDATION_ERROR","CANNOT_CANCEL_PUD","ADDRESS_NOT_FOUND","CROSS_BORDER_NOT_ALLOWED","PARTIAL_ADDRESS","BOOKING_BLOCKED","BOOKING_BAN","PRICE_ESTIMATE_UNAVAILABLE","INVALID_BOOKING_INTERVAL","NO_MATCH_FOUND","OUT_OF_AREA_NOT_ALLOWED","BOOKING_PRODUCT_NOT_AVAILABLE","BOOKING_ADDON_NOT_AVAILABLE_IN_BOOKING_PRODUCT","BOOKING_ADDON_NOT_AVAILABLE_IN_REGION","OUT_OF_OPENING_HOURS_NOT_ALLOWED","PRICE_ESTIMATE_CANNOT_FIND_HUB","PRICE_ESTIMATE_CANNOT_FIND_PRICE_RULES","PRICE_ESTIMATE_CANNOT_FIND_DRIVING_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_FROM_HUB_ROUTE","PRICE_ESTIMATE_CANNOT_FIND_TO_HUB_ROUTE","WHITE_LABEL_JOB_NOT_FOUND","WHITE_LABEL_NOT_WHITE_LABEL","WHITE_LABEL_ALREADY_CANCELLED","WHITE_LABEL_PICKUP_STARTED","WHITE_LABEL_NO_LOCATION_ID","WHITE_LABEL_LOCATION_NOT_FOUND","WHITE_LABEL_CANCELLATION_NOT_ALLOWED","WHITE_LABEL_TOO_CLOSE_TO_PICKUP","THIRD_PARTY_API_ERROR","RECAPTCHA_VALIDATION_FAILED","RECAPTCHA_MISSING","PROFILE_INCOMPLETE"]},"statusCode":{"type":"number","description":"Status code","enum":[100,101,102,103,200,201,202,203,204,205,206,207,208,210,300,301,302,303,304,307,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,421,422,423,424,428,429,456,500,501,502,503,504,505,507,508]},"message":{"type":"string","description":"Error message"},"path":{"type":"string","description":"Request path"},"timestamp":{"type":"string","description":"Timestamp of the error"},"requestId":{"type":"string","description":"Unique request ID"},"data":{"type":"object","description":"Additional error data (optional)"}},"required":["errorType","statusCode","message","path","timestamp","requestId"]}}}}
```

{% content-ref url="/pages/Mn8EGAJocQtzl3p9zYzo" %}
[Booking restrictions](/api/v3/puds/booking-restrictions.md)
{% endcontent-ref %}
