> For the complete documentation index, see [llms.txt](https://api-portal.novapost.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-portal.novapost.com/methods/page-4.md).

# Page 4

зміни по тасці <https://novaposhta.atlassian.net/browse/APIGW-3216>

## Update pickup request status

> This method allows updating the status of an existing courier pickup request.\
> \
> The method can be used to:\
> \- transition a pickup request from \`Draft\` to \`Created\`;\
> \- cancel a pickup request in \`Created\`, \`AppointedCourier\`, or \`InProgress\` status by changing its status to \`ClientCanceled\`.\
> \
> While the request is in \`Draft\` status, it remains in a preparatory phase where all necessary shipments can be added. Once the status is updated to \`Created\`, the shipment management system recognizes the pickup as finalized and ready for processing by the courier service.\
> \
> A pickup request can be canceled by the client only using the following status transitions:\
> \- \`Created\` → \`ClientCanceled\`;\
> \- \`AppointedCourier\` → \`ClientCanceled\`;\
> \- \`InProgress\` → \`ClientCanceled\`.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Pickups"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"Authorization JWT-token with a lifetime of 1 hour in header"}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Validation":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Time-out":{"description":"Connection time-out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"errors":{"type":"object","properties":{"":{"type":"string"}}}}}}},"paths":{"/pickups/{id}/status":{"put":{"description":"This method allows updating the status of an existing courier pickup request.\n\nThe method can be used to:\n- transition a pickup request from `Draft` to `Created`;\n- cancel a pickup request in `Created`, `AppointedCourier`, or `InProgress` status by changing its status to `ClientCanceled`.\n\nWhile the request is in `Draft` status, it remains in a preparatory phase where all necessary shipments can be added. Once the status is updated to `Created`, the shipment management system recognizes the pickup as finalized and ready for processing by the courier service.\n\nA pickup request can be canceled by the client only using the following status transitions:\n- `Created` → `ClientCanceled`;\n- `AppointedCourier` → `ClientCanceled`;\n- `InProgress` → `ClientCanceled`.\n","tags":["Pickups"],"parameters":[{"name":"id","in":"path","required":true,"description":"The unique identifier of the pickup request.\n\n🔹The id can be obtained from the [Create a courier pickup request](https://api-portal.novapost.com/metodi-1/methods/pickups#post-pickups) response or by searching for the pickup by its document number in the [Retrieve list of courier pickup requests](https://api-portal.novapost.com/metodi-1/methods/pickups#get-pickups) method.\n","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"This field is used to update the status of a courier pickup request.\n\nTo finalize a pickup request and make it ready for processing by the shipment management system, change the status from `Draft` to `Created`.\n\nTo cancel a pickup request, set the status to `ClientCanceled`. Cancellation is allowed only for pickup requests in `Created`, `AppointedCourier`, or `InProgress` status.\n\nAllowed status transitions:\n- `Draft` → `Created`;\n- `Created` → `ClientCanceled`;\n- `AppointedCourier` → `ClientCanceled`;\n- `InProgress` → `ClientCanceled`.\n\nPossible current statuses: `Draft`, `Created`, `AppointedCourier`, `InProgress`.\n","enum":["Created","ClientCanceled"]},"lockVersion":{"type":"integer","description":"Version number for concurrency control to avoid conflicting updates. When using this method and making updates, the value of this parameter must be incremented by 1 for each subsequent change.","minimum":1},"note":{"type":"string","description":"A required note or comment providing additional information about the reason for the status update. This field must be filled when changing the status to ensure proper tracking and context.","maxLength":255}},"required":["id","status","lockVersion"]}}}},"responses":{"200":{"description":"Status updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the status update was successful."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/Validation"},"503":{"$ref":"#/components/responses/Time-out"}},"summary":"Update pickup request status"}}}}
```

## Оновити статус заявки на забір

> Цей метод дозволяє оновлювати статус наявної заявки на кур’єрський забір.\
> \
> Метод можна використовувати для:\
> \- переведення заявки на виклик кур'єра зі статусу \`Draft\` у статус \`Created\`;\
> \- скасування заявки у статусі \`Created\`, \`AppointedCourier\` або \`InProgress\` шляхом зміни її статусу на \`ClientCanceled\`.\
> \
> Поки заявка перебуває у статусі \`Draft\`, вона залишається на підготовчому етапі, під час якого можна додати всі необхідні відправлення. Щойно статус оновлюється на \`Created\`, система управління відправленнями розпізнає виклик кур'єра як завершений і готовий до обробки кур'єрською службою.\
> \
> Скасування заявки клієнтом дозволено лише для таких переходів між статусами:\
> \- \`Created\` → \`ClientCanceled\`;\
> \- \`AppointedCourier\` → \`ClientCanceled\`;\
> \- \`InProgress\` → \`ClientCanceled\`.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Pickups"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}},"responses":{"Unauthorized":{"description":"Неавторизований доступ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Вказаний ресурс не знайдено","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Validation":{"description":"Помилка валідації","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Time-out":{"description":"Час очікування з’єднання вичерпано","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"errors":{"type":"object","properties":{"":{"type":"string"}}}}}}},"paths":{"/pickups/{id}/status":{"put":{"description":"Цей метод дозволяє оновлювати статус наявної заявки на кур’єрський забір.\n\nМетод можна використовувати для:\n- переведення заявки на виклик кур'єра зі статусу `Draft` у статус `Created`;\n- скасування заявки у статусі `Created`, `AppointedCourier` або `InProgress` шляхом зміни її статусу на `ClientCanceled`.\n\nПоки заявка перебуває у статусі `Draft`, вона залишається на підготовчому етапі, під час якого можна додати всі необхідні відправлення. Щойно статус оновлюється на `Created`, система управління відправленнями розпізнає виклик кур'єра як завершений і готовий до обробки кур'єрською службою.\n\nСкасування заявки клієнтом дозволено лише для таких переходів між статусами:\n- `Created` → `ClientCanceled`;\n- `AppointedCourier` → `ClientCanceled`;\n- `InProgress` → `ClientCanceled`.\n","tags":["Pickups"],"parameters":[{"name":"id","in":"path","required":true,"description":"Унікальний ідентифікатор заявки на кур’єрський забір.\n\n🔹Ідентифікатор `id` можна отримати з відповіді на метод [Створити заявку на кур’єрський забір](https://api-portal.novapost.com/methods/ua/overview/pickups#post-pickups) або за допомогою методу [Отримати список заявок на кур’єрський забір](https://api-portal.novapost.com/methods/ua/overview/pickups#get-pickups), виконавши пошук заявки за номером документа.\n","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Використовується для оновлення статусу заявки на кур’єрський забір.\n\nДля завершення формування заявки та передачі її на обробку системою управління відправленнями змініть статус з `Draft` на `Created`.\n\nДля скасування заявки встановіть статус `ClientCanceled`. Скасування доступне лише для заявок у статусі `Created`, `AppointedCourier` або `InProgress`.\n\nДозволені переходи між статусами:\n- `Draft` → `Created`;\n- `Created` → `ClientCanceled`;\n- `AppointedCourier` → `ClientCanceled`;\n- `InProgress` → `ClientCanceled`.\n\nМожливі поточні статуси: `Draft`, `Created`, `AppointedCourier`, `InProgress`.\n","enum":["Created","ClientCanceled"]},"lockVersion":{"type":"integer","description":"Номер версії для запобігання конфліктам під час оновлення даних. При кожному наступному оновленні заявки значення цього параметра необхідно збільшувати на 1.","minimum":1},"note":{"type":"string","description":"Обов’язкова примітка або коментар із додатковою інформацією щодо причини зміни статусу. Поле необхідно заповнювати під час зміни статусу для забезпечення належного відстеження та збереження контексту змін.","maxLength":255}},"required":["id","status","lockVersion"]}}}},"responses":{"200":{"description":"Статус успішно оновлено","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Визначає, чи було успішно оновлено статус заявки."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/Validation"},"503":{"$ref":"#/components/responses/Time-out"}},"summary":"Оновити статус заявки на забір"}}}}
```

зміни по тасці <https://novaposhta.atlassian.net/browse/APIGW-3215> <br>

## Update a courier pickup request

> The method is used to update the details of an already created pickup request. It allows clients to modify information such as the pickup address, contact details, time window and other parameters in \`Draft\`, \`Created\`, and \`AppointedCourier\` statuses to ensure accurate and timely parcel collection.\
> \
> When the pickup request is in \`Created\` or \`AppointedCourier\` status, the pickup time window can be changed only if the pickup date is rescheduled to the next day or later.\
> \
> This method is available to business clients in EU countries where Nova Post operates.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Pickups"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"Authorization JWT-token with a lifetime of 1 hour in header"}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Validation":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Time-out":{"description":"Connection time-out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"errors":{"type":"object","properties":{"":{"type":"string"}}}}}}},"paths":{"/pickups/{id}":{"put":{"description":"The method is used to update the details of an already created pickup request. It allows clients to modify information such as the pickup address, contact details, time window and other parameters in `Draft`, `Created`, and `AppointedCourier` statuses to ensure accurate and timely parcel collection.\n\nWhen the pickup request is in `Created` or `AppointedCourier` status, the pickup time window can be changed only if the pickup date is rescheduled to the next day or later.\n\nThis method is available to business clients in EU countries where Nova Post operates.\n","tags":["Pickups"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","minimum":1},"description":"Unique identifier of the pickup request to be updated.\n\n🔹The id can be obtained from the [Create a courier pickup request](https://api-portal.novapost.com/metodi-1/methods/pickups#post-pickups) response or by searching for the pickup by its document number in the [Retrieve list of courier pickup requests](https://api-portal.novapost.com/metodi-1/methods/pickups#get-pickups) method.\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["fullName","phone","countryCode","lockVersion","addressParts"],"properties":{"note":{"type":"string","description":"Optional notes or instructions for the courier.","maxLength":255},"services":{"type":"array","items":{"type":"string"},"description":"List of additional services that can be included in the pickup request. This functionality is currently under development.","nullable":true},"phone":{"type":"string","description":"The contact phone number of the sender, required to allow the courier to reach out if necessary.","minLength":8,"maxLength":14},"email":{"type":"string","description":"While not mandatory, providing an email is recommended as a backup contact method in case the phone number is incorrect or for additional notifications regarding the pickup.","nullable":true},"fullName":{"type":"string","description":"Full name of the client sending the parcel, essential for identifying the sender and ensuring accurate handling of the pickup.","maxLength":100},"companyTin":{"type":"string","description":"The tax identification number (TIN) of a legal entity.","minLength":2,"maxLength":20},"companyName":{"type":"string","description":"Name of the company requesting the pickup.","minLength":2,"maxLength":255},"lockVersion":{"type":"integer","description":"Version number for concurrency control to avoid conflicting updates. When using this method and making updates, the value of this parameter must be incremented by 1 for each subsequent change.","minimum":1},"countryCode":{"type":"string","description":"ISO Alpha-2 code for the pickup location.","pattern":"^[A-Z]{2}$"},"addressParts":{"type":"object","description":"Detailed address information for the pickup location.","properties":{"city":{"type":"string","description":"The name of the city for the pickup location.","maxLength":100},"region":{"type":"string","description":"The administrative area, state, or region for the pickup.","maxLength":100},"street":{"type":"string","description":"The street name for the pickup location.","maxLength":100},"postCode":{"type":"string","description":"The postal code of the pickup location.","maxLength":10},"building":{"type":"string","description":"The building number or name at the pickup address.","maxLength":100},"flat":{"type":"string","description":"The apartment or office number within the building.","maxLength":10},"block":{"type":"string","description":"The specific block or section within a larger complex, if applicable.","maxLength":100},"note":{"type":"string","description":"Additional instructions for the courier to access the pickup location.","maxLength":100}}},"pickedTimeFrom":{"type":"string","format":"date-time","description":"Start of the pickup time window, selected from available time intervals provided by the method that returns available time slots.\n\n🔹For pickup requests in `Created` or `AppointedCourier` status, the time window can be changed only if the pickup date is rescheduled to the next day or later.\n","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$","nullable":true},"pickedTimeTo":{"type":"string","format":"date-time","description":"End of the pickup time window, selected from available time intervals provided by the method that returns available time slots.\n\n🔹For pickup requests in `Created` or `AppointedCourier` status, the time window can be changed only if the pickup date is rescheduled to the next day or later.\n","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$","nullable":true}}}}}},"responses":{"200":{"description":"Pickup request updated successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the updated pickup request.","minimum":1},"number":{"type":"string","description":"Reference number for the pickup request.","pattern":"^[A-Z]{4}\\d{10}$"},"status":{"type":"string","description":"Current status of the updated pickup request.\n\nPossible values include:\n- **Draft**: Initial stage where the pickup request is created but not yet finalized.\n- **Created**: The pickup request has been created and is ready for processing.\n- **AppointedCourier**: A courier has been assigned to the pickup request.\n","enum":["Draft","Created","AppointedCourier"]},"lockVersion":{"type":"integer","description":"Updated version number for concurrency control."},"note":{"type":"string","description":"Updated notes for the courier.","maxLength":255},"pickedTimeFrom":{"type":"string","format":"date-time","description":"Updated start of the pickup time window.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"pickedTimeTo":{"type":"string","format":"date-time","description":"Updated end of the pickup time window.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"addressParts":{"type":"object","description":"Updated address information for the pickup location.","properties":{"city":{"type":"string","description":"The name of the city for the pickup location.","maxLength":100},"region":{"type":"string","description":"The administrative area, state, or region for the pickup.","maxLength":100},"street":{"type":"string","description":"The street name for the pickup location.","maxLength":100},"postCode":{"type":"string","description":"The postal code of the pickup location.","maxLength":10},"building":{"type":"string","description":"The building number or name at the pickup address.","maxLength":100},"flat":{"type":"string","description":"The apartment or office number within the building.","maxLength":10},"block":{"type":"string","description":"The specific block or section within a larger complex, if applicable.","maxLength":100},"note":{"type":"string","description":"Additional instructions for the courier to access the pickup location.","maxLength":100}}},"statuses":{"type":"array","description":"Array of updated status objects tracking pickup status changes.","items":{"type":"object"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/Validation"},"503":{"$ref":"#/components/responses/Time-out"}},"summary":"Update a courier pickup request"}}}}
```

## Оновити заявку на кур’єрський забір

> Цей метод використовується для оновлення даних уже створеної заявки на кур’єрський забір. Він дозволяє змінювати інформацію про заявку, зокрема адресу, контактні дані, часовий інтервал кур’єрського забору та інші параметри, у статусах \`Draft\`, \`Created\` та \`AppointedCourier\`, щоб забезпечити коректний і своєчасний забір відправлень.\
> \
> Для заявок у статусах \`Created\` та \`AppointedCourier\` часовий інтервал кур’єрського забору можна змінити лише за умови перенесення дати забору на наступний день або пізніше.\
> \
> Метод доступний для бізнес-клієнтів у країнах ЄС, де працює Nova Post.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Pickups"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}},"responses":{"Unauthorized":{"description":"Неавторизований доступ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Вказаний ресурс не знайдено","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Validation":{"description":"Помилка валідації","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Time-out":{"description":"Час очікування з’єднання вичерпано","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"errors":{"type":"object","properties":{"":{"type":"string"}}}}}}},"paths":{"/pickups/{id}":{"put":{"description":"Цей метод використовується для оновлення даних уже створеної заявки на кур’єрський забір. Він дозволяє змінювати інформацію про заявку, зокрема адресу, контактні дані, часовий інтервал кур’єрського забору та інші параметри, у статусах `Draft`, `Created` та `AppointedCourier`, щоб забезпечити коректний і своєчасний забір відправлень.\n\nДля заявок у статусах `Created` та `AppointedCourier` часовий інтервал кур’єрського забору можна змінити лише за умови перенесення дати забору на наступний день або пізніше.\n\nМетод доступний для бізнес-клієнтів у країнах ЄС, де працює Nova Post.\n","tags":["Pickups"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"integer","minimum":1},"description":"Унікальний ідентифікатор заявки на кур’єрський забір, яку потрібно оновити.\n\n🔹Ідентифікатор `id` можна отримати з відповіді на метод [Створити заявку на кур’єрський забір](https://api-portal.novapost.com/methods/ua/overview/pickups#post-pickups) або за допомогою методу [Отримати список заявок на кур’єрський забір](https://api-portal.novapost.com/methods/ua/overview/pickups#get-pickups), виконавши пошук заявки за номером документа.\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["fullName","phone","countryCode","lockVersion","addressParts"],"properties":{"note":{"type":"string","description":"Додаткові примітки або інструкції для кур’єра.","maxLength":255},"services":{"type":"array","items":{"type":"string"},"description":"Список додаткових послуг, які можна додати до заявки на кур’єрський забір. Наразі ця функціональність перебуває в розробці.","nullable":true},"phone":{"type":"string","description":"Контактний номер телефону відправника, необхідний для того, щоб кур’єр міг зв’язатися у разі потреби.","minLength":8,"maxLength":14},"email":{"type":"string","description":"Адреса електронної пошти. Не є обов’язковою, проте рекомендується як резервний спосіб зв’язку у випадку некоректного номера телефону або для отримання додаткових сповіщень щодо кур’єрського забору.","nullable":true},"fullName":{"type":"string","description":"Повне ім’я клієнта-відправника, необхідне для ідентифікації відправника та коректної обробки заявки на кур’єрський забір.","maxLength":100},"companyTin":{"type":"string","description":"ІПН юридичної особи.","minLength":2,"maxLength":20},"companyName":{"type":"string","description":"Назва компанії, яка створила заявку на кур’єрський забір.","minLength":2,"maxLength":255},"lockVersion":{"type":"integer","description":"Номер версії для запобігання конфліктам під час оновлення даних. При кожному наступному оновленні заявки значення цього параметра необхідно збільшувати на 1.","minimum":1},"countryCode":{"type":"string","description":"Код країни місця кур’єрського забору у форматі ISO Alpha-2.","pattern":"^[A-Z]{2}$"},"addressParts":{"type":"object","description":"Детальна інформація про адресу кур’єрського забору.","properties":{"city":{"type":"string","description":"Назва міста кур’єрського забору.","maxLength":100},"region":{"type":"string","description":"Назва області, регіону або адміністративно-територіальної одиниці кур’єрського забору.","maxLength":100},"street":{"type":"string","description":"Назва вулиці кур’єрського забору.","maxLength":100},"postCode":{"type":"string","description":"Поштовий індекс адреси кур’єрського забору.","maxLength":10},"building":{"type":"string","description":"Номер або назва будівлі за адресою кур’єрського забору.","maxLength":100},"flat":{"type":"string","description":"Номер квартири або офісу.","maxLength":10},"block":{"type":"string","description":"Номер корпусу, секції або блоку будівлі, якщо застосовується.","maxLength":100},"note":{"type":"string","description":"Додаткові інструкції для доступу кур’єра до місця кур’єрського забору.","maxLength":100}}},"pickedTimeFrom":{"type":"string","format":"date-time","description":"Початок часового інтервалу кур’єрського забору, вибраного зі списку доступних часових інтервалів, отриманих через відповідний метод.\n\n🔹Для заявок у статусах `Created` та `AppointedCourier` часовий інтервал можна змінити лише за умови перенесення дати забору на наступний день або пізніше.\n","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$","nullable":true},"pickedTimeTo":{"type":"string","format":"date-time","description":"Кінець часового інтервалу кур’єрського забору, вибраного зі списку доступних часових інтервалів, отриманих через відповідний метод.\n\n🔹Для заявок у статусах `Created` та `AppointedCourier` часовий інтервал можна змінити лише за умови перенесення дати забору на наступний день або пізніше.\n","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$","nullable":true}}}}}},"responses":{"200":{"description":"Заявку на кур’єрський забір успішно оновлено","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Унікальний ідентифікатор оновленої заявки на кур’єрський забір.","minimum":1},"number":{"type":"string","description":"Реєстраційний номер заявки на кур’єрський забір.","pattern":"^[A-Z]{4}\\d{10}$"},"status":{"type":"string","description":"Поточний статус оновленої заявки на кур’єрський забір.\n\nМожливі значення:\n  - **Draft**: Початковий етап, коли заявку створено, але ще не завершено її оформлення.\n  - **Created**: Заявку створено та підготовлено до обробки.\n  - **AppointedCourier**: Для заявки призначено кур’єра.\n","enum":["Draft","Created","AppointedCourier"]},"lockVersion":{"type":"integer","description":"Оновлений номер версії для запобігання конфліктам під час оновлення даних."},"note":{"type":"string","description":"Оновлені примітки для кур’єра.","maxLength":255},"pickedTimeFrom":{"type":"string","format":"date-time","description":"Оновлений початок часового інтервалу кур’єрського забору.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"pickedTimeTo":{"type":"string","format":"date-time","description":"Оновлений кінець часового інтервалу кур’єрського забору.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"addressParts":{"type":"object","description":"Оновлена інформація про адресу кур’єрського забору.","properties":{"city":{"type":"string","description":"Назва міста кур’єрського забору.","maxLength":100},"region":{"type":"string","description":"Назва області, регіону або адміністративно-територіальної одиниці кур’єрського забору.","maxLength":100},"street":{"type":"string","description":"Назва вулиці кур’єрського забору.","maxLength":100},"postCode":{"type":"string","description":"Поштовий індекс адреси кур’єрського забору.","maxLength":10},"building":{"type":"string","description":"Номер або назва будівлі за адресою кур’єрського забору.","maxLength":100},"flat":{"type":"string","description":"Номер квартири або офісу.","maxLength":10},"block":{"type":"string","description":"Номер корпусу, секції або блоку будівлі, якщо застосовується.","maxLength":100},"note":{"type":"string","description":"Додаткові інструкції для доступу кур’єра до місця кур’єрського забору.","maxLength":100}}},"statuses":{"type":"array","description":"Масив оновлених статусів заявки на кур’єрський забір.","items":{"type":"object"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/Validation"},"503":{"$ref":"#/components/responses/Time-out"}},"summary":"Оновити заявку на кур’єрський забір"}}}}
```

зміни по тасці <https://novaposhta.atlassian.net/browse/APIGW-3214>

## Retrieve available pickup time intervals

> This method retrieves available time intervals for pickups.\
> The method can also be used to retrieve available time intervals for a specific pickup by providing \`pickupId\`.\
> \
> The algorithm operates based on geographical zones serviced by couriers.\
> These zones are conditional areas on a map defined by logistical features of courier operations.\
> Depending on the pickup location, the system identifies the specific courier responsible for that zone and returns the detailed time intervals available for pickup.\
> \
> \*\*Mandatory Parameters:\*\*\
> \- \`countryCode\`: Specifies the country code according to ISO 3166-1 Alpha-2 standard.\
> \- \`type\`: Defines the type of pickup. Allowed values are \`PickupDayToDay\` (same-day pickup) or \`PickupNextDay\` (next-day pickup).\
> \
> 🔹If \`pickupId\` is provided, \`countryCode\` and \`type\` are optional and do not need to be provided. If \`pickupId\` is not provided, \`countryCode\` and \`type\` are required.\
> \
> If only \`countryCode\` and \`type\` are provided, the method will return general courier working hours for the specified country without detailed intervals for a specific location or zone.\
> \
> \*\*Pickup-specific time intervals:\*\*\
> \- \`pickupId\`: Specify the identifier of an existing pickup request to retrieve available time intervals for that specific pickup.\
> \- When \`pickupId\` is provided, the response may contain \`pickupId\`, \`actionType\`, and \`availableDays\` with available days and time slots for rescheduling the pickup.\
> \
> \*\*Recommended Parameters for Accurate Results:\*\*\
> \- \`addressParts\`: Provide the full pickup address, including building, street, city, region, and postal code. This ensures precise time intervals are returned for the specified address.\
> \- \`latitude\` and \`longitude\`: Use geographical coordinates if a full address is not available to determine the zone.\
> \- \`divisionId\`: Specify the ID of the nearest division if the exact address is unknown. However, note that proximity to a division does not guarantee that the courier servicing the address operates from the same division.\
> \
> \*\*Additional Parameters:\*\*\
> \- \`weight\`: Time intervals may depend on the shipment's weight. This parameter is helpful for large or weight-sensitive shipments.\
> \
> \*\*Important Notes:\*\*\
> 1\. If only \`countryCode\` and \`type\` are provided, the system will return general working hours of couriers without detailed time intervals for a specific address.\
> 2\. If \`pickupId\` is provided, \`countryCode\` and \`type\` are optional.\
> 3\. For the most accurate time intervals when searching by location, providing a full address or coordinates is strongly recommended.\
> \
> \*\*Time Interval Selection Logic:\*\*\
> \- If a \`PickupDayToDay\` configuration exists:\
> &#x20; \- It takes priority over PickupNextDay.\
> &#x20; \- Today is available if:\
> &#x20;   \- Not a holiday (\`holiday == false\`);\
> &#x20;   \- A working schedule exists (\`from != null\`);\
> &#x20;   \- Current time < \`orderTo\`.\
> &#x20; \- Up to 7 calendar days (including today) may be returned if:\
> &#x20;   \- Not holidays;\
> &#x20;   \- \`from\` is set;\
> &#x20;   \- \`orderTo\` is only checked for today.\
> \- If no \`PickupDayToDay\`, but \`PickupNextDay\` is configured:\
> &#x20; \- Today is not available.\
> &#x20; \- Up to 7 calendar days (excluding today) may be returned if:\
> &#x20;   \- Not holidays;\
> &#x20;   \- \`from\` is set.\
> &#x20; \- \`orderTo\` applies \*\*only to tomorrow\*\*. If current time > \`orderTo\`, tomorrow is excluded.\
> \- If no time interval configuration exists (fallback mode):\
> &#x20; \- Today is not available.\
> &#x20; \- Up to 7 calendar days (excluding today, weekends, holidays) may be returned.\
> &#x20; \- A fixed \`orderTo = 17:00\` applies only to tomorrow.\
> \
> \*\*Note:\*\*\
> If \`from\` is set but \`timeIntervals\` is empty, the courier will arrive \*\*sometime during the day\*\* without a fixed slot.\
> This logic applies \*\*to all types\*\* of configurations.\
> \
> \*\*Validation behavior:\*\*\
> \- If the selected day is no longer valid, the system automatically assigns the next available valid day.\
> \- If the time interval is invalid or empty, the courier will arrive during the full working period.\
> \
> \*\*Recommendation:\*\*\
> Providing full address details or coordinates is strongly recommended to ensure accurate time interval results when searching by location.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Pickups"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"Authorization JWT-token with a lifetime of 1 hour in header"}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Validation":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Time-out":{"description":"Connection time-out","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"errors":{"type":"object","properties":{"":{"type":"string"}}}}}}},"paths":{"/time-intervals/find":{"post":{"tags":["Pickups"],"description":"This method retrieves available time intervals for pickups.\nThe method can also be used to retrieve available time intervals for a specific pickup by providing `pickupId`.\n\nThe algorithm operates based on geographical zones serviced by couriers.\nThese zones are conditional areas on a map defined by logistical features of courier operations.\nDepending on the pickup location, the system identifies the specific courier responsible for that zone and returns the detailed time intervals available for pickup.\n\n**Mandatory Parameters:**\n- `countryCode`: Specifies the country code according to ISO 3166-1 Alpha-2 standard.\n- `type`: Defines the type of pickup. Allowed values are `PickupDayToDay` (same-day pickup) or `PickupNextDay` (next-day pickup).\n\n🔹If `pickupId` is provided, `countryCode` and `type` are optional and do not need to be provided. If `pickupId` is not provided, `countryCode` and `type` are required.\n\nIf only `countryCode` and `type` are provided, the method will return general courier working hours for the specified country without detailed intervals for a specific location or zone.\n\n**Pickup-specific time intervals:**\n- `pickupId`: Specify the identifier of an existing pickup request to retrieve available time intervals for that specific pickup.\n- When `pickupId` is provided, the response may contain `pickupId`, `actionType`, and `availableDays` with available days and time slots for rescheduling the pickup.\n\n**Recommended Parameters for Accurate Results:**\n- `addressParts`: Provide the full pickup address, including building, street, city, region, and postal code. This ensures precise time intervals are returned for the specified address.\n- `latitude` and `longitude`: Use geographical coordinates if a full address is not available to determine the zone.\n- `divisionId`: Specify the ID of the nearest division if the exact address is unknown. However, note that proximity to a division does not guarantee that the courier servicing the address operates from the same division.\n\n**Additional Parameters:**\n- `weight`: Time intervals may depend on the shipment's weight. This parameter is helpful for large or weight-sensitive shipments.\n\n**Important Notes:**\n1. If only `countryCode` and `type` are provided, the system will return general working hours of couriers without detailed time intervals for a specific address.\n2. If `pickupId` is provided, `countryCode` and `type` are optional.\n3. For the most accurate time intervals when searching by location, providing a full address or coordinates is strongly recommended.\n\n**Time Interval Selection Logic:**\n- If a `PickupDayToDay` configuration exists:\n  - It takes priority over PickupNextDay.\n  - Today is available if:\n    - Not a holiday (`holiday == false`);\n    - A working schedule exists (`from != null`);\n    - Current time < `orderTo`.\n  - Up to 7 calendar days (including today) may be returned if:\n    - Not holidays;\n    - `from` is set;\n    - `orderTo` is only checked for today.\n- If no `PickupDayToDay`, but `PickupNextDay` is configured:\n  - Today is not available.\n  - Up to 7 calendar days (excluding today) may be returned if:\n    - Not holidays;\n    - `from` is set.\n  - `orderTo` applies **only to tomorrow**. If current time > `orderTo`, tomorrow is excluded.\n- If no time interval configuration exists (fallback mode):\n  - Today is not available.\n  - Up to 7 calendar days (excluding today, weekends, holidays) may be returned.\n  - A fixed `orderTo = 17:00` applies only to tomorrow.\n\n**Note:**\nIf `from` is set but `timeIntervals` is empty, the courier will arrive **sometime during the day** without a fixed slot.\nThis logic applies **to all types** of configurations.\n\n**Validation behavior:**\n- If the selected day is no longer valid, the system automatically assigns the next available valid day.\n- If the time interval is invalid or empty, the courier will arrive during the full working period.\n\n**Recommendation:**\nProviding full address details or coordinates is strongly recommended to ensure accurate time interval results when searching by location.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pickupId":{"type":"integer","description":"Identifier of the pickup request for which available time intervals must be retrieved.\n\nIf `pickupId` is provided, `countryCode` and `type` are optional and do not need to be provided.\n","minimum":1},"type":{"type":"string","description":"Type of time interval. Allowed values are `PickupDayToDay` or `PickupNextDay`.\n\n🔹This field is required if `pickupId` is not provided.\n","enum":["PickupDayToDay","PickupNextDay"]},"countryCode":{"type":"string","description":"Country code according to the ISO 3166-1 Alpha-2 standard.\n\n🔹This field is required if `pickupId` is not provided.\n","pattern":"^[A-Z]{2}$"},"divisionId":{"type":"integer","description":"Division ID for specific branch identification.","minimum":1,"nullable":true},"latitude":{"type":"number","description":"Latitude for geolocation-based search.","minimum":-90,"maximum":90,"nullable":true},"longitude":{"type":"number","description":"Longitude for geolocation-based search.","minimum":-180,"maximum":180,"nullable":true},"maxWeightPlaceRecipient":{"type":"integer","description":"Weight of the shipment in kilograms. Optional for non-weight-sensitive intervals.","minimum":0,"nullable":true},"addressParts":{"type":"object","description":"Full address details for location-based interval search. If not provided, latitude and longitude will be used.","nullable":true,"properties":{"building":{"type":"string","description":"Building number or identifier.","maxLength":100},"street":{"type":"string","description":"Street name.","maxLength":100},"city":{"type":"string","description":"City name.","maxLength":100},"region":{"type":"string","description":"Region or administrative area.","maxLength":100},"postCode":{"type":"string","description":"Postal code.","maxLength":10},"flat":{"type":"string","description":"Flat or apartment number, if applicable.","maxLength":10,"nullable":true},"note":{"type":"string","description":"Additional notes for location identification.","maxLength":100,"nullable":true}}}}}}}},"responses":{"200":{"description":"Time intervals retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the time interval.","minimum":1},"countryCode":{"type":"string","description":"Country code according to the ISO 3166-1 Alpha-2 standard.","pattern":"^[A-Z]{2}$"},"divisionId":{"type":"integer","description":"Division ID related to the time interval.","minimum":1,"nullable":true},"type":{"type":"string","description":"The type of the time interval.","enum":["PickupDayToDay","PickupNextDay"]},"deliveryPartner":{"type":"string","description":"Partner responsible for the pickup, if applicable.","nullable":true},"ignoreNonWorkingDays":{"type":"boolean","description":"Whether to include non-working days in the search."},"monday":{"type":"object","description":"Time intervals available on Monday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"tuesday":{"type":"object","description":"Time intervals available on Tuesday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"wednesday":{"type":"object","description":"Time intervals available on Wednesday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"thursday":{"type":"object","description":"Time intervals available on Thursday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"friday":{"type":"object","description":"Time intervals available on Friday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"saturday":{"type":"object","description":"Time intervals available on Saturday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"sunday":{"type":"object","description":"Time intervals available on Sunday.","properties":{"from":{"type":"string","description":"Start time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Start time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"End time of the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Time until which an order can be placed for the sub-interval.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"createdAt":{"type":"string","format":"date-time","description":"The date-time indicating when the record was initially created.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"updatedAt":{"type":"string","format":"date-time","description":"The date-time indicating when the record was last updated.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"deletedAt":{"type":"string","format":"date-time","description":"The date-time indicating when the record was deleted.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$","nullable":true},"pickupId":{"type":"integer","description":"Identifier of the pickup request. Returned if `pickupId` was provided in the request.","nullable":true},"actionType":{"type":"string","description":"Type of action for the pickup request.","nullable":true},"availableDays":{"type":"array","description":"Available days and time intervals for rescheduling the pickup request.","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Available date in `YYYY-MM-DD` format."},"weekday":{"type":"string","description":"Day of the week. For example, `Friday`.\n"},"idTimeInterval":{"type":"integer","description":"Identifier of the time interval."},"typeTimeInterval":{"type":"string","description":"Type of the time interval. For example, `PickupDayToDay`.\n"},"timeIntervals":{"type":"array","description":"Available time slots for the specified day.","items":{"type":"object","properties":{"from":{"type":"string","format":"time","description":"Start time of the interval. For example, `09:00`.\n"},"to":{"type":"string","format":"time","description":"End time of the interval. For example, `12:00`.\n"},"orderTo":{"type":"string","format":"time","description":"Cut-off time for placing the order. For example, `08:00`.\n"},"allDay":{"type":"boolean","description":"Indicates whether the interval covers the entire day."}}}}}}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/Validation"},"503":{"$ref":"#/components/responses/Time-out"}},"summary":"Retrieve available pickup time intervals"}}}}
```

## Отримати доступні часові інтервали для кур’єрського забору

> Цей метод повертає доступні часові інтервали для заборів.\
> Метод також дозволяє отримати доступні часові інтервали для конкретного пікапу, передавши \`pickupId\`.\
> \
> Алгоритм працює на основі географічних зон, які обслуговують кур'єри.\
> Ці зони є умовними областями на карті, що визначаються логістичними особливостями кур'єрських операцій.\
> Залежно від місця забору, система визначає конкретного кур'єра, відповідального за цю зону, і повертає детальні часові інтервали, доступні для виклику.\
> \
> \*\*Обов'язкові параметри:\*\*\
> \- \`countryCode\`: Вказує код країни відповідно до стандарту ISO 3166-1 Alpha-2.\
> \- \`type\`: Визначає тип забору. Допустимі значення: \`PickupDayToDay\` (забір день у день) або \`PickupNextDay\` (забір на наступний день).\
> \
> 🔹Якщо передано \`pickupId\`, параметри \`countryCode\` та \`type\` є необов'язковими та їх можна не передавати. Якщо \`pickupId\` не передано, параметри \`countryCode\` та \`type\` є обов'язковими.\
> \
> Якщо надано лише \`countryCode\` та \`type\`, метод поверне загальний робочий час кур'єрів для вказаної країни без детальних інтервалів для конкретної локації чи зони.\
> \
> \*\*Часові інтервали для конкретного пікапу:\*\*\
> \- \`pickupId\`: Вкажіть ідентифікатор існуючої заявки на кур’єрський забір, щоб отримати доступні часові інтервали для конкретного пікапу.\
> \- Якщо передано \`pickupId\`, у відповіді можуть повертатися \`pickupId\`, \`actionType\` та \`availableDays\` з доступними днями та часовими слотами для перенесення пікапу.\
> \
> \*\*Рекомендовані параметри для точних результатів:\*\*\
> \- \`addressParts\`: Надайте повну адресу забору, включаючи будівлю, вулицю, місто, регіон та поштовий індекс. Це гарантує повернення точних часових інтервалів для вказаної адреси.\
> \- \`latitude\` та \`longitude\`: Використовуйте географічні координати для визначення зони, якщо повна адреса недоступна.\
> \- \`divisionId\`: Вкажіть ID найближчого відділення, якщо точна адреса невідома. Проте зауважте, що близькість до відділення не гарантує, що кур'єр, який обслуговує цю адресу, працює саме з цього відділення.\
> \
> \*\*Додаткові параметри:\*\*\
> \- \`weight\`: Часові інтервали можуть залежати від ваги відправлення. Цей параметр є корисним для великих або чутливих до ваги вантажів.\
> \
> \*\*Важливі примітки:\*\*\
> 1\. Якщо вказано лише \`countryCode\` та \`type\`, система поверне загальний робочий час кур'єрів без детальних часових інтервалів для конкретної адреси.\
> 2\. Якщо передано \`pickupId\`, параметри \`countryCode\` та \`type\` є необов'язковими.\
> 3\. Для отримання найбільш точних часових інтервалів під час пошуку за місцем забору наполегливо рекомендується надавати повну адресу або координати.\
> \
> \*\*Логіка вибору часових інтервалів:\*\*\
> \
> \- Якщо існує конфігурація \`PickupDayToDay\`:\
> &#x20; \- Вона має пріоритет над \`PickupNextDay\`.\
> &#x20; \- Поточний день (сьогодні) доступний, якщо:\
> &#x20;   \- День не є святковим (\`holiday == false\`);\
> &#x20;   \- Існує робочий графік (\`from != null\`);\
> &#x20;   \- Поточний час < \`orderTo\`.\
> &#x20; \- Може бути повернуто до 7 календарних днів (включаючи сьогодні), якщо:\
> &#x20;   \- Дні не є святковими;\
> &#x20;   \- Параметр \`from\` задано;\
> &#x20;   \- Перевірка \`orderTo\` застосовується лише для сьогоднішнього дня.\
> \- Якщо конфігурація \`PickupDayToDay\` відсутня, але налаштовано \`PickupNextDay\`:\
> &#x20; \- Поточний день (сьогодні) недоступний.\
> &#x20; \- Може бути повернуто до 7 календарних днів (виключаючи сьогодні), якщо:\
> &#x20;   \- Дні не є святковими;\
> &#x20;   \- Параметр \`from\` задано.\
> &#x20; \- Обмеження \`orderTo\` застосовується \*\*наступного дня\*\*. Якщо поточний час > \`orderTo\`, завтрашній день виключається.\
> \- Якщо конфігурація часових інтервалів відсутня (резервний режим / fallback):\
> &#x20; \- Поточний день (сьогодні) недоступний.\
> &#x20; \- Може бути повернуто до 7 календарних днів (виключаючи сьогодні, вихідні та святкові дні).\
> &#x20; \- Фіксоване значення \`orderTo = 17:00\` застосовується лише для завтрашнього дня.\
> \
> \*\*Примітка:\*\*\
> \
> Якщо параметр \`from\` задано, але масив \`timeIntervals\` порожній, кур'єр прибуде \*\*протягом дня\*\* без прив'язки до фіксованого слоту.\
> Ця логіка застосовується \*\*до всіх типів\*\* конфігурацій.\
> \
> \*\*Поведінка валідації:\*\*\
> \- Якщо обраний день більше не є дійсним, система автоматично призначає наступний доступний дійсний день.\
> \- Якщо часовий інтервал недійсний або порожній, кур'єр прибуде протягом усього робочого періоду.\
> \
> \*\*Рекомендація:\*\*\
> Для забезпечення точних результатів часових інтервалів під час пошуку за місцем забору наполегливо рекомендується надавати повні дані адреси або координати.<br>

```json
{"openapi":"3.0.0","info":{"title":"API Nova Post","version":"1.0.0"},"tags":[{"name":"Pickups"}],"servers":[{"description":"sandbox","url":"https://api-stage.novapost.com/v.1.0/"},{"description":"production","url":"https://api.novapost.com/v.1.0/"}],"security":[{"JWT":[]}],"components":{"securitySchemes":{"JWT":{"type":"apiKey","in":"header","name":"Authorization","description":"JWT-токен авторизації зі строком дії 1 годину у заголовку"}},"responses":{"Unauthorized":{"description":"Неавторизований доступ","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Вказаний ресурс не знайдено","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Validation":{"description":"Помилка валідації","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Time-out":{"description":"Час очікування з’єднання вичерпано","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"errors":{"type":"object","properties":{"":{"type":"string"}}}}}}},"paths":{"/time-intervals/find":{"post":{"tags":["Pickups"],"description":"Цей метод повертає доступні часові інтервали для заборів.\nМетод також дозволяє отримати доступні часові інтервали для конкретного пікапу, передавши `pickupId`.\n\nАлгоритм працює на основі географічних зон, які обслуговують кур'єри.\nЦі зони є умовними областями на карті, що визначаються логістичними особливостями кур'єрських операцій.\nЗалежно від місця забору, система визначає конкретного кур'єра, відповідального за цю зону, і повертає детальні часові інтервали, доступні для виклику.\n\n**Обов'язкові параметри:**\n- `countryCode`: Вказує код країни відповідно до стандарту ISO 3166-1 Alpha-2.\n- `type`: Визначає тип забору. Допустимі значення: `PickupDayToDay` (забір день у день) або `PickupNextDay` (забір на наступний день).\n\n🔹Якщо передано `pickupId`, параметри `countryCode` та `type` є необов'язковими та їх можна не передавати. Якщо `pickupId` не передано, параметри `countryCode` та `type` є обов'язковими.\n\nЯкщо надано лише `countryCode` та `type`, метод поверне загальний робочий час кур'єрів для вказаної країни без детальних інтервалів для конкретної локації чи зони.\n\n**Часові інтервали для конкретного пікапу:**\n- `pickupId`: Вкажіть ідентифікатор існуючої заявки на кур’єрський забір, щоб отримати доступні часові інтервали для конкретного пікапу.\n- Якщо передано `pickupId`, у відповіді можуть повертатися `pickupId`, `actionType` та `availableDays` з доступними днями та часовими слотами для перенесення пікапу.\n\n**Рекомендовані параметри для точних результатів:**\n- `addressParts`: Надайте повну адресу забору, включаючи будівлю, вулицю, місто, регіон та поштовий індекс. Це гарантує повернення точних часових інтервалів для вказаної адреси.\n- `latitude` та `longitude`: Використовуйте географічні координати для визначення зони, якщо повна адреса недоступна.\n- `divisionId`: Вкажіть ID найближчого відділення, якщо точна адреса невідома. Проте зауважте, що близькість до відділення не гарантує, що кур'єр, який обслуговує цю адресу, працює саме з цього відділення.\n\n**Додаткові параметри:**\n- `weight`: Часові інтервали можуть залежати від ваги відправлення. Цей параметр є корисним для великих або чутливих до ваги вантажів.\n\n**Важливі примітки:**\n1. Якщо вказано лише `countryCode` та `type`, система поверне загальний робочий час кур'єрів без детальних часових інтервалів для конкретної адреси.\n2. Якщо передано `pickupId`, параметри `countryCode` та `type` є необов'язковими.\n3. Для отримання найбільш точних часових інтервалів під час пошуку за місцем забору наполегливо рекомендується надавати повну адресу або координати.\n\n**Логіка вибору часових інтервалів:**\n\n- Якщо існує конфігурація `PickupDayToDay`:\n  - Вона має пріоритет над `PickupNextDay`.\n  - Поточний день (сьогодні) доступний, якщо:\n    - День не є святковим (`holiday == false`);\n    - Існує робочий графік (`from != null`);\n    - Поточний час < `orderTo`.\n  - Може бути повернуто до 7 календарних днів (включаючи сьогодні), якщо:\n    - Дні не є святковими;\n    - Параметр `from` задано;\n    - Перевірка `orderTo` застосовується лише для сьогоднішнього дня.\n- Якщо конфігурація `PickupDayToDay` відсутня, але налаштовано `PickupNextDay`:\n  - Поточний день (сьогодні) недоступний.\n  - Може бути повернуто до 7 календарних днів (виключаючи сьогодні), якщо:\n    - Дні не є святковими;\n    - Параметр `from` задано.\n  - Обмеження `orderTo` застосовується **наступного дня**. Якщо поточний час > `orderTo`, завтрашній день виключається.\n- Якщо конфігурація часових інтервалів відсутня (резервний режим / fallback):\n  - Поточний день (сьогодні) недоступний.\n  - Може бути повернуто до 7 календарних днів (виключаючи сьогодні, вихідні та святкові дні).\n  - Фіксоване значення `orderTo = 17:00` застосовується лише для завтрашнього дня.\n\n**Примітка:**\n\nЯкщо параметр `from` задано, але масив `timeIntervals` порожній, кур'єр прибуде **протягом дня** без прив'язки до фіксованого слоту.\nЦя логіка застосовується **до всіх типів** конфігурацій.\n\n**Поведінка валідації:**\n- Якщо обраний день більше не є дійсним, система автоматично призначає наступний доступний дійсний день.\n- Якщо часовий інтервал недійсний або порожній, кур'єр прибуде протягом усього робочого періоду.\n\n**Рекомендація:**\nДля забезпечення точних результатів часових інтервалів під час пошуку за місцем забору наполегливо рекомендується надавати повні дані адреси або координати.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pickupId":{"type":"integer","description":"Ідентифікатор заявки на кур’єрський забір, для якої необхідно отримати доступні часові інтервали.\n\nЯкщо передано `pickupId`, параметри `countryCode` та `type` є необов'язковими та їх можна не передавати.\n","minimum":1},"type":{"type":"string","description":"Тип часового інтервалу. Доступні значення: `PickupDayToDay` або `PickupNextDay`.\n\n🔹Це поле є обов'язковим, якщо `pickupId` не передано.\n","enum":["PickupDayToDay","PickupNextDay"]},"countryCode":{"type":"string","description":"Код країни відповідно до стандарту ISO 3166-1 Alpha-2.\n\n🔹Це поле є обов'язковим, якщо `pickupId` не передано.\n","pattern":"^[A-Z]{2}$"},"divisionId":{"type":"integer","description":"Ідентифікатор відділення для визначення конкретного відділення.","minimum":1,"nullable":true},"latitude":{"type":"number","description":"Широта для пошуку за географічними координатами.","minimum":-90,"maximum":90,"nullable":true},"longitude":{"type":"number","description":"Довгота для пошуку за географічними координатами.","minimum":-180,"maximum":180,"nullable":true},"maxWeightPlaceRecipient":{"type":"integer","description":"Вага відправлення в кілограмах. Необов’язковий параметр для інтервалів, які не залежать від ваги.","minimum":0,"nullable":true},"addressParts":{"type":"object","description":"Повна адреса для пошуку часових інтервалів. Якщо не передано, використовуються координати.","nullable":true,"properties":{"building":{"type":"string","description":"Номер або ідентифікатор будівлі.","maxLength":100},"street":{"type":"string","description":"Назва вулиці.","maxLength":100},"city":{"type":"string","description":"Назва міста.","maxLength":100},"region":{"type":"string","description":"Область або адміністративний регіон.","maxLength":100},"postCode":{"type":"string","description":"Поштовий індекс.","maxLength":10},"flat":{"type":"string","description":"Номер квартири або офісу, за наявності.","maxLength":10,"nullable":true},"note":{"type":"string","description":"Додаткова інформація для ідентифікації місця забору.","maxLength":100,"nullable":true}}}}}}}},"responses":{"200":{"description":"Часові інтервали успішно отримано","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Унікальний ідентифікатор часового інтервалу.","minimum":1},"countryCode":{"type":"string","description":"Код країни відповідно до стандарту ISO 3166-1 Alpha-2.","pattern":"^[A-Z]{2}$"},"divisionId":{"type":"integer","description":"Ідентифікатор відділення, пов’язаного з часовим інтервалом.","minimum":1,"nullable":true},"type":{"type":"string","description":"Тип часового інтервалу.","enum":["PickupDayToDay","PickupNextDay"]},"deliveryPartner":{"type":"string","description":"Партнер, відповідальний за кур’єрський забір, якщо застосовується.","nullable":true},"ignoreNonWorkingDays":{"type":"boolean","description":"Визначає, чи враховуються неробочі дні під час пошуку."},"monday":{"type":"object","description":"Часові інтервали, доступні в понеділок.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"tuesday":{"type":"object","description":"Часові інтервали, доступні у вівторок.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"wednesday":{"type":"object","description":"Часові інтервали, доступні в середу.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"thursday":{"type":"object","description":"Часові інтервали, доступні в четвер.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"friday":{"type":"object","description":"Часові інтервали, доступні в п’ятницю.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"saturday":{"type":"object","description":"Часові інтервали, доступні в суботу.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"sunday":{"type":"object","description":"Часові інтервали, доступні в неділю.","properties":{"from":{"type":"string","description":"Час початку інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення інтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей інтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"timeIntervals":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","description":"Час початку підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"to":{"type":"string","description":"Час завершення підінтервалу.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true},"orderTo":{"type":"string","description":"Час, до якого можна оформити заявку на цей підінтервал.","pattern":"^(([0,1][0-9]|(2[0-3]))|([0-9])):[0-5][0-9]$","nullable":true}}}}}},"createdAt":{"type":"string","format":"date-time","description":"Дата та час первинного створення запису.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"updatedAt":{"type":"string","format":"date-time","description":"Дата та час останнього оновлення запису.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$"},"deletedAt":{"type":"string","format":"date-time","description":"Дата та час видалення запису.","pattern":"^20[0-9]{2}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-9]{6}Z$","nullable":true},"pickupId":{"type":"integer","description":"Ідентифікатор пікапу. Повертається, якщо `pickupId` було передано в запиті.","nullable":true},"actionType":{"type":"string","description":"Тип дії для пікапу.","nullable":true},"availableDays":{"type":"array","description":"Масив доступних днів із часовими інтервалами для перенесення пікапу.","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Доступна дата у форматі `YYYY-MM-DD`."},"weekday":{"type":"string","description":"День тижня. Наприклад: `Friday`.\n"},"idTimeInterval":{"type":"integer","description":"Ідентифікатор часового інтервалу."},"typeTimeInterval":{"type":"string","description":"Тип часового інтервалу. Наприклад: `PickupDayToDay`.\n"},"timeIntervals":{"type":"array","description":"Масив доступних часових слотів для вказаного дня.","items":{"type":"object","properties":{"from":{"type":"string","format":"time","description":"Початок часового інтервалу. Наприклад: `09:00`.\n"},"to":{"type":"string","format":"time","description":"Кінець часового інтервалу. Наприклад: `12:00`.\n"},"orderTo":{"type":"string","format":"time","description":"Граничний час замовлення. Наприклад: `08:00`.\n"},"allDay":{"type":"boolean","description":"Визначає, чи є часовий інтервал доступним протягом усього дня."}}}}}}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/Validation"},"503":{"$ref":"#/components/responses/Time-out"}},"summary":"Отримати доступні часові інтервали для кур’єрського забору"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://api-portal.novapost.com/methods/page-4.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
