Veikedo

Untitled

Feb 7th, 2021
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 8.09 KB | None | 0 0
  1. # Основные понятия:
  2. # Принципал - компания, которая пользуется нашим сервисом
  3. # Клиент - (Покупатель (Buyer)) - человек/юрик, который сделал Заказ у Принципала
  4. # Получатель - человек/юрик, на адрес которого будет доставлен Заказ (Клиентский или Логистический)
  5. # Отправитель (может лучше Склад Принципала? Место Отправления?) - склад/адрес Принципала, с которого мы принимаем Заказ (???)
  6. # Order - Заказ(?), который сделал Покупатель у Принципала (Клиентский Заказ?) Состоит из OrderLines
  7. # Shipment - сущность, отображающая Отправление/Посылку/Доставку/Отгрузку/Логистический заказ/ Перевозка (!)
  8. # Order Lines - список Товаров в Клиентском Заказе
  9. ---
  10. # Сущность отображающая Отправление/Посылка/Доставка/Отгрузка/Логистический заказ
  11. # NB! В ЛК сейчас используется термин Заказ
  12. order:
  13.   id: int autoinc, уходит в SourceKey в таблицу LogisticOrder
  14.   principalId: id принципала # пример 193
  15.   orderNumber: номер_заказа_в_системе_принципала # пример 4518
  16.   logisticOrderNumber: формат поля - %principalId%-%номер_заказа_в_системе_принципала% # Бывший MultiSeatId, генерируется автоматически, пример 193-4518
  17.   createdDate: date, дата создания у нас
  18.   state: cоздан | черновик? | передан в логистику | доставлен | аннулирован # это все статусы - все остальное через табличку postingEvents
  19.   comment: комментарий к заказу # передавать его и в курьерку и в остальные места
  20.   # cutOffTime: Время, до которого постинг должен быть собран (не понятно, кто записывает в БД это значение)
  21.  
  22.   buyer:
  23.     name: ФИО
  24.     phone: телефон получателя
  25.     email: почта получателя
  26.     # нужен ли он нам? может лучше поле Тип?
  27.     type: legal | individual    
  28.     companyName: Наименование юр. лица
  29.  
  30.   recipient:
  31.     name: ФИО
  32.     phone: телефон получателя
  33.     email: почта получателя
  34.     # нужен ли он нам? может лучше поле Тип?
  35.     type: legal | individual
  36.     companyName: Наименование юр. лица
  37.  
  38.   # нужен ли? Полезно для хранения истории или если отправка идёт с нескольких складов и нам нужно вернуть товар обратно
  39.   # передалать в адрес/склад/место отправления
  40.   sender:
  41.     placeId:
  42.     address:
  43.     name: какое-то название    
  44.     phone: телефон отправителя
  45.     email: почта отправителя
  46.  
  47.   deliveryInformation:
  48.    # нужен ли? Это разве не в deliveryVariantId?
  49.     # deliveryType: курьерка | ПВЗ | Постомат, тип способа доставки
  50.  
  51.     deliveryVariantId: Идентификатор способа доставки
  52.     # сейчас этих полей нет в постинге
  53.     address: адрес получателя в текстовом формате
  54.  
  55.     # Какие варианты использования?
  56.     timeSlotId: Идентификатор слота доставки
  57.  
  58.   # подумать над именем поля? Receiving? Transfer? Shipment?
  59.   firstMileTransfer: #
  60.     type: пикап | дропоф, способ передачи
  61.     fromPlaceId: идентификатор склада принципала откуда забираем груз для пикапа # не обязательно
  62.     # toPlaceId: идентификатор где приняли груз (СЦ/ПВЗ итд), попадает в логистику Озон
  63.  
  64.   # Упаковки/коробки, в которых поедут товары
  65.   # Похож на Posting, но без адреса доставки и прочих аттрибутов
  66.   packages:
  67.     - packageNumber: номер_упаковки_в_системе_принципала. # Бывший PostingNumber, генерится автоматом, печатается на этикетках, пример 193-4518-1
  68.       postingNumber: 3pl-{principal id}-{packageNumber}
  69.       barCode: уходит в конкретную посылку
  70.       status: ждёт получения от принципала | доставляется | доставлен # мы не принимаем
  71.       dimmensions:
  72.         weight: вес отправления в граммах
  73.         height: Высота в мм
  74.         length: Длина в мм
  75.         width: Ширина в мм
  76.  
  77.   # Единица товары, которые клиент заказал у принципала, это Клиентский Заказ
  78.   orderLines:
  79.     - articleNumber: Артикул экземпляра
  80.       name: Наименование экземпляра
  81.       isDangerous: Признак опасного груза # перенести в keyValue
  82.       quantity: количество
  83.       weight: вес
  84.       price: Стоимость (всегда указывается за один экземпляр, даже если quantity более одного)
  85.       estimatedPrice: Оценочная стоимость (не обязательно для заполнения)
  86.       vatRate: Ставка НДС # проговорить с Ренатом и Ваней Щепиной
  87.       vatAmount: Сумма НДС
  88.       supplierTin: ИНН поставщика
  89.       packageNumbers:
  90.        - [массив] номер упаковок, в которых размещён данный товар # пример 193-4518-1
  91.  
  92.   # договориться что мы называем Amount, Cost, Price
  93.   payment: # вынести в keyValue?
  94.     type: постоплата | полная предоплата | частичная предоплата
  95.     prepayment: размер предоплаты
  96.     amountRecipientPayment: Сумма взимаемая с клиента при выдаче посылки
  97.     deliveryPrice: Стоимость доставки отправления. Указывается та стоимость доставки, которую должен оплатить клиент - получатель отправления
  98.     deliveryPriceVat: ставка НДС по услуге доставки
  99.  
  100.   # вопросы по
  101.   postingCost: почему не считаем сами автоматически?
  102.   cost: заявленная стоимость отправления, это про страховку?
  103.   deliveryCostVat: сумма НДС по услуге доставки
  104.  
  105.   # пока не используется
  106.   # pvzStorageTime: срок хранения на ПВЗ
  107.   # deliveryTimeSlotID: идентификатор таймслота доставки
  108.   # deliveryTimeSlotFrom: Дата и время начала таймслота в UTC
  109.   # deliveryTimeSlotTo: Дата и время начала таймслота в UTC
  110.  
  111. ---
  112.  
  113.  
  114. orderLines:
  115.   - name: Шкаф
  116.     parts:
  117.       - name: дверца
  118.         packageNumber: 1 # едет в первой коробке
  119.       - name: полка
  120.         packageNumber: 2 # едет во второй коробке
  121.        
  122. packages:
  123.   - packageNumber: 1
  124.     weight: 100
  125.   - packageNumber: 2
  126.     weight: 200
Add Comment
Please, Sign In to add comment