Описание моделей данных для запросов


Слот

Слот в Pooling можно понимать как рейс, у которого известны
Даты в слоте
Типы слота
Консолидации - дата, когда груз поставщика должен быть доставлен на склад транспортной компании перед его отправкой далее по маршруту
LTL/Pooling - это типы для не полностью заполненных машин. Разница в том, что Pooling слоты дешевле за счёт объединения нескольких поставщиков грузов
Отправки - дата, когда груз уезжает со склада ТК или поставщика
Supplement - это слоты догруза
Доставки - дата, когда груз должен быть доставлен в торговую сеть
Де-юре это тоже LTL, то есть не полностью заполненная машина. Отличие от пулинг здесь в том, что слоты догруза - это потенциально свободное место, которое было “недобронировано” в FTL перевозке.
В зависимости от количества бронируемых паллет, слот догруза может оказаться дешевле Pooling слота.
регион отправления
клиент, которому поедет груз
склад клиента, куда должен быть доставлен груз
даты
стоимость перевозки за 1 паллету
тип груза, который может быть отправлен в конкретном слоте
тип слота
consolidationDateFrom*
V2
Период по датам консолидации, за который нужно искать слоты
YYYY-MM-DD (iso-8601)
2019-05-13
consolidationDateTo*
V2
YYYY-MM-DD (iso-8601)
2019-05-14
departureDateFrom*
V2
Период по датам отправки, за который нужно искать слоты
YYYY-MM-DD (iso-8601)
2019-05-15
departureDateTo*
V2
YYYY-MM-DD (iso-8601)
2019-05-16
deliveryDateFrom*
V2
Период по датам доставки, за который нужно искать слоты
YYYY-MM-DD (iso-8601)
2019-05-17
deliveryDateTo*
V2
YYYY-MM-DD (iso-8601)
2019-05-18
При запросе обязателен к заполнению хотя бы один из трех периодов. Периоды не могут превышать 31 день, иначе вернётся ошибка.
onlyAvailable
V2
Признак только доступных слотов
Boolean
true / false
По умолчанию: false

shippingRegionId*
V1
Регион отправки, id пулинга
String (24 hex)
1bf12345dc12345b1234a1f1
shippingRegionCode*
V2
String
RU-AD
iso-code региона РФ
сarrierId
V1
Id транспортной компании в pooling
String (24 hex)
1bf12345dc12345b1234a1f1
carrierForeignId
V2
String
АГРОСОВХОЗ
Код или id ТК в чужой системе (в той, которая запрашивает)
clientId
V1
Клиент (торговая сеть)
String (24 hex)
1bf12345dc12345b1234a1f1
clientForeigntId
V2
String
АБРАКАДАБРА
Код или id сети в чужой системе (в той, которая запрашивает
unloadingWarehouseId
V2
ID склада выгрузки в Pooling
String (24 hex)
1bf12345dc12345b1234a1f1
unloadingWarehouseFore
ignId
V2
Код или id склада выгрузки в чужой системе (в той, которая запрашивает)
String
123abc
reservationType
V2
Фильтр по типу бронирования, который доступен по данному слоту.
Basic
Milkrun
String
Basic
Массив в строке запроса
сarType
V1
Тип кузова
String
Tent
productType*
V2
Тип продукта
Array
Alco
shippingType
V2
Типы отправки для слота
Array
Pooling
temperatureFrom
V2
Температурный режим для слотов догруза
Int
5
temperatureTo
V2
Int
-18
Данный период будет отфильтровывать слоты по дате консолидации.
Значения from - to могут быть равны
Данный период будет отфильтровывать слоты по дате консолидации.
Значения from - to могут быть равны
Данный период будет отфильтровывать слоты по дате консолидации.
Значения from - to могут быть равны
По умолчанию возвращаем все подходящие: и доступные, и недоступные для бронирования
Если onlyAvailable=true , то возвращаем только доступные для бронирования слоты
На вход можно отдать либо shippingRegionId , либо shippingRegionCode
Если заполнены оба поля, поиск по shippingRegionId
Если оба поля не заполнены - вернём ошибку
Для определение кода региона РФ пользуемся справочником https://dadata.ru/opendata/
На вход можно отдать либо сarrierId , либо carrierForeignId
Если заполнены оба поля, поиск по сarrierId.
На вход можно отдать либо clientId , либо clientForeigntId
Если заполнены оба поля, поиск по сarrierId.
Обычно под этим складом понимается распределительный центр, он же склад торговой сети в регионе, с которого груз далее поставляется в конкретные магазины или точки торговой сети.
Если на вход подаются оба поля:
unloadingWarehouseId и
unloadingWarehouseForeignId ,
то в приоритете значение для unloadingWarehouseId.
Справочник: GET ​/api​/v2​/car-types-all
Обязательное поле. Всегда, даже если передаётся слот.
Принимаем в массиве только 1 значение.
Справочник: GET ​/api​/v2​/definitions​/product-types

Можно передать несколько значений в запросе, например:
api/v2/slots?shippingTypes=
FTL&shippingTypes=Pooling
Возможные значения см. справочник: GET /api​/v2​/definitions​/shippingTypes или ниже:
Supplement - для слотов догруза
LTL - для слотов с ещё не набранным пулингом
Pooling - для слотов, по которым набрался пулинг
FTL
Температурный режим пока будет применим только для слотов догруза. Для слотов Pooling не применимо.
По присланным параметрам ищем подходящий в Pooling температурный режим:
либо он точно совпадает с режимом в пулинг
либо входит внутрь какого-то температурного режима в Pooling
иначе считаем, что подходящего под запрос температурного режима не найдено
Температурный режим пока будет применим только для слотов догруза. Для слотов Pooling не применимо.
По присланным параметрам ищем подходящий в Pooling температурный режим:
либо он точно совпадает с режимом в пулинг
либо входит внутрь какого-то температурного режима в Pooling
иначе считаем, что подходящего под запрос температурного режима не найдено