Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Основные понятия:
- # Принципал - компания, которая пользуется нашим сервисом
- # Клиент - (Покупатель (Buyer)) - человек/юрик, который сделал Заказ у Принципала
- # Получатель - человек/юрик, на адрес которого будет доставлен Заказ (Клиентский или Логистический)
- # Отправитель (может лучше Склад Принципала? Место Отправления?) - склад/адрес Принципала, с которого мы принимаем Заказ (???)
- # Order - Заказ(?), который сделал Покупатель у Принципала (Клиентский Заказ?) Состоит из OrderLines
- # Shipment - сущность, отображающая Отправление/Посылку/Доставку/Отгрузку/Логистический заказ/ Перевозка (!)
- # Order Lines - список Товаров в Клиентском Заказе
- ---
- # Сущность отображающая Отправление/Посылка/Доставка/Отгрузка/Логистический заказ
- # NB! В ЛК сейчас используется термин Заказ
- order:
- id: int autoinc, уходит в SourceKey в таблицу LogisticOrder
- principalId: id принципала # пример 193
- orderNumber: номер_заказа_в_системе_принципала # пример 4518
- logisticOrderNumber: формат поля - %principalId%-%номер_заказа_в_системе_принципала% # Бывший MultiSeatId, генерируется автоматически, пример 193-4518
- createdDate: date, дата создания у нас
- state: cоздан | черновик? | передан в логистику | доставлен | аннулирован # это все статусы - все остальное через табличку postingEvents
- comment: комментарий к заказу # передавать его и в курьерку и в остальные места
- # cutOffTime: Время, до которого постинг должен быть собран (не понятно, кто записывает в БД это значение)
- buyer:
- name: ФИО
- phone: телефон получателя
- email: почта получателя
- # нужен ли он нам? может лучше поле Тип?
- type: legal | individual
- companyName: Наименование юр. лица
- recipient:
- name: ФИО
- phone: телефон получателя
- email: почта получателя
- # нужен ли он нам? может лучше поле Тип?
- type: legal | individual
- companyName: Наименование юр. лица
- # нужен ли? Полезно для хранения истории или если отправка идёт с нескольких складов и нам нужно вернуть товар обратно
- # передалать в адрес/склад/место отправления
- sender:
- placeId:
- address:
- name: какое-то название
- phone: телефон отправителя
- email: почта отправителя
- deliveryInformation:
- # нужен ли? Это разве не в deliveryVariantId?
- # deliveryType: курьерка | ПВЗ | Постомат, тип способа доставки
- deliveryVariantId: Идентификатор способа доставки
- # сейчас этих полей нет в постинге
- address: адрес получателя в текстовом формате
- # Какие варианты использования?
- timeSlotId: Идентификатор слота доставки
- # подумать над именем поля? Receiving? Transfer? Shipment?
- firstMileTransfer: #
- type: пикап | дропоф, способ передачи
- fromPlaceId: идентификатор склада принципала откуда забираем груз для пикапа # не обязательно
- # toPlaceId: идентификатор где приняли груз (СЦ/ПВЗ итд), попадает в логистику Озон
- # Упаковки/коробки, в которых поедут товары
- # Похож на Posting, но без адреса доставки и прочих аттрибутов
- packages:
- - packageNumber: номер_упаковки_в_системе_принципала. # Бывший PostingNumber, генерится автоматом, печатается на этикетках, пример 193-4518-1
- postingNumber: 3pl-{principal id}-{packageNumber}
- barCode: уходит в конкретную посылку
- status: ждёт получения от принципала | доставляется | доставлен # мы не принимаем
- dimmensions:
- weight: вес отправления в граммах
- height: Высота в мм
- length: Длина в мм
- width: Ширина в мм
- # Единица товары, которые клиент заказал у принципала, это Клиентский Заказ
- orderLines:
- - articleNumber: Артикул экземпляра
- name: Наименование экземпляра
- isDangerous: Признак опасного груза # перенести в keyValue
- quantity: количество
- weight: вес
- price: Стоимость (всегда указывается за один экземпляр, даже если quantity более одного)
- estimatedPrice: Оценочная стоимость (не обязательно для заполнения)
- vatRate: Ставка НДС # проговорить с Ренатом и Ваней Щепиной
- vatAmount: Сумма НДС
- supplierTin: ИНН поставщика
- packageNumbers:
- - [массив] номер упаковок, в которых размещён данный товар # пример 193-4518-1
- # договориться что мы называем Amount, Cost, Price
- payment: # вынести в keyValue?
- type: постоплата | полная предоплата | частичная предоплата
- prepayment: размер предоплаты
- amountRecipientPayment: Сумма взимаемая с клиента при выдаче посылки
- deliveryPrice: Стоимость доставки отправления. Указывается та стоимость доставки, которую должен оплатить клиент - получатель отправления
- deliveryPriceVat: ставка НДС по услуге доставки
- # вопросы по
- postingCost: почему не считаем сами автоматически?
- cost: заявленная стоимость отправления, это про страховку?
- deliveryCostVat: сумма НДС по услуге доставки
- # пока не используется
- # pvzStorageTime: срок хранения на ПВЗ
- # deliveryTimeSlotID: идентификатор таймслота доставки
- # deliveryTimeSlotFrom: Дата и время начала таймслота в UTC
- # deliveryTimeSlotTo: Дата и время начала таймслота в UTC
- ---
- orderLines:
- - name: Шкаф
- parts:
- - name: дверца
- packageNumber: 1 # едет в первой коробке
- - name: полка
- packageNumber: 2 # едет во второй коробке
- packages:
- - packageNumber: 1
- weight: 100
- - packageNumber: 2
- weight: 200
Add Comment
Please, Sign In to add comment