Перейти до змісту

ShipCore — Phase 1: Detailed Use-Case Walkthroughs

Призначення: валідувати wedge ShipCore через 5 реальних бізнес-сценаріїв UA/EU mid-market multimodal forwarding. Кожен сценарій — повний end-to-end flow, який повинен бути виконуваний у v1 (або свідомо відкинутий — Use-Case 5).

Метод: сценарії синтезовані з публічних UA практик (зерновий експорт post-2022, контейнерний імпорт через Гданськ/Constanța, road FTL через Krakovets/Yagodyn), документів УЗ Cargo, IRU, AsMAP, Maersk Spot, DAT, Awery. Це не реальні угоди конкретних клієнтів — це нормалізовані flow-шаблони для специфікації.

Як читати: для кожного сценарію — секція Wedge validation наприкінці, де явно сказано, які з 7 модулів (shipcore + auto + forwarder + sea + rail + terminal + avia + pricing) залучаються, які інтеграції потрібні, і який ОДИН модуль є headline value driver для цього case.


0. Зведена таблиця 5 use-cases

# Назва Wedge модулі Mode mix Time door-to-door Orientation cost Чи робимо у v1?
1 UA grain export → Constanța → EG forwarder + rail + sea + pricing rail + sea 3-5 тижнів $50-100 / ton freight + $30-50 ancillary ✅ так, headline wedge
2 Asia container → Гданськ → road до UA forwarder + sea + auto + terminal + pricing sea + road 5-7 тижнів $3500-5500 / 40HC end-to-end ✅ так, другий-priority wedge
3 PL → UA road FTL через Krakovets forwarder + auto + pricing road only 2-3 дні $1.20-1.50/km × 1100km ≈ $1320-1650 ✅ так, найшвидший implementable
4 Asia → Гданськ → rail Київ → road last mile forwarder + sea + rail + auto + pricing + terminal sea + rail + road 4-6 тижнів $4000-6000 / 40HC ✅ так, multimodal showcase
5 UA charter cargo flight (Бориспіль → IST → DXB) avia (Awery) + forwarder (light) air 1-3 дні $200K-500K full charter ❌ НЕ wedge v1, моніторинг + Awery partnership у v2-v3

Wedge headline по модулях: - forwarder — присутній у 5/5 use-cases, безсумнівне ядро - pricing — присутній у 5/5 (lane rate, accessorials, FSC, demurrage timer) - sea — 3/5 (UC1, UC2, UC4) - rail — 2/5 (UC1, UC4) — але обидва — strategic UA-EU маршрути - auto — 3/5 (UC2, UC3, UC4) - terminal — 2/5 як bridge (UC2, UC4) — переважно через partner-термінал, не наш TOS - avia — 1/5 і свідомо відкинутий

Висновок: shipcore_forwarder + shipcore_pricing — must-have v1 ядро. Решта вертикалів — додаються по черзі під конкретні маршрути pilot-клієнта.


Use-Case 1 — Зерновий експорт UA → EU → EG

1.1 Сценарій (бізнес-картинка)

Шипер — UA agro-холдинг (типаж: Кернел / МХП / Нібулон / Astarta). Вантаж: 5000 тонн пшениці 3-го класу, врожай 2026. Маршрут: - Походження: елеватор у Полтавській обл. (наприклад, Нові Санжари або Кобеляки) - Залізницею: Полтава → перетин UA-RO кордону у Vadul Siret (через Чернівецьку обл.) → CFR Marfă сегмент → термінал Constanța Sud (RO) - Морем: feeder Constanța → deep-sea з пересадкою у Piraeus або direct до Александрії - Призначення: Egyptian General Authority for Supply Commodities (GASC) silo в Александрії

Форвардер: UA mid-market (200-500 співробітників, типаж — ZAMMLER або менший спеціалізований grain-forwarder). Форвардер організовує всю ланцюгу, продає GASC на FOB Constanța або CFR Alexandria.

1.2 Учасники (party matrix)

Роль Учасник Контракт
Shipper / Seller UA agro-холдинг Sale contract з GASC (CFR Alexandria)
Forwarder (NVOCC) UA-форвардер Master service agreement з шипером + back-to-back з sub-carriers
Rail carrier UA leg АТ «Укрзалізниця» (Cargo) CIM-СМГС waybill, оплата через Клієнт УЗ
Rail carrier RO leg CFR Marfă або private (GFR/Unicom Tranzit) CIM waybill (EU territory)
Terminal Constanța Constanța Sud Agriterminal / TTS Operator / Comvex Storage + loading agreement
Sea carrier MSC / Maersk Bulk / Norvic Shipping (chartered bulk vessel) Voyage charter party (GENCON) або liner B/L якщо контейнерами
Marine surveyor SGS / Bureau Veritas / Cotecna Quality + weight certificate at load + discharge
Customs broker UA Local broker з ліцензією UA export декларація
Customs broker RO Local RO broker T1 transit + import-into-EU або re-export
Phyto-sanitary Держпродспоживслужба (UA) + ANSVSA (RO) + Ag Quarantine (EG) Phyto certificate UA → endorsement RO → acceptance EG
Marine insurance UNIQA / ARX / ETI Insurance Cargo insurance ICC(A), війcькова risk clause
Consignee / Buyer GASC Alexandria L/C через Banque Misr або Commercial International Bank

1.3 Документообіг (chronological)

T-30 days  Quote / Tender response (форвардер відповідає на GASC tender)
T-21 days  Sale contract (Шипер ↔ GASC)
T-21 days  Master Service Agreement (Шипер ↔ Форвардер)
T-14 days  Vessel nomination (форвардер ↔ sea carrier, GENCON charter party)
T-14 days  Wagon order (форвардер ↔ УЗ Cargo через "Клієнт УЗ" кабінет)
           — заявка ГУ-12 на 80 вагонів-зерновозів (62.5 ton/wagon × 80 ≈ 5000 t)
T-7 days   Wagon supply at silo, loading per УЗ tariff "Збірник тарифів № 1"
T-5 days   CIM-СМГС waybill випуск (станція Полтава-Південна → Constanța Sud)
T-5 days   Phyto-sanitary certificate випуск (Держпродспоживслужба, форма 1)
T-5 days   Certificate of Origin (Торгово-промислова палата України, форма EUR.1 для EU чи Form A для GSP)
T-5 days   Certificate of Quality (SGS surveyor at silo)
T-5 days   Commercial invoice + Packing list (форвардер за дорученням шипера)
T-5 days   UA export декларація (через QDPro / M.E.Doc / посередник-брокер у ЄАІКМ)
T-3 days   T1 NCTS declaration на UA-RO кордоні (Vadul Siret), guarantee через RO broker
T+0        Train departed Полтава
T+2 days   Vadul Siret border crossing — митний огляд RO, T1 release
T+5 days   Train arrived Constanța Sud, gate-in термінал
T+5 days   Discharge у silo terminal, weighing certificate (port scale)
T+7 days   Vessel arrived Constanța, NOR (Notice of Readiness) tender
T+8-10 d   Loading at vessel (~10000 t/day для grain), Mate's Receipt
T+10 d     Bill of Lading випущений (Original B/L 3 copies + non-negotiable copies)
T+10 d     Charter party invoice (демередж/диспач calculation за NOR)
T+10 d     Vessel sailed Constanța → Bosphorus → Aegean → Alexandria
T+15-18 d  Vessel arrived Alexandria
T+15 d     Egyptian import paperwork (GASC-side, форвардер тільки supplies copies)
T+18-22 d  Discharge complete, POD via SGS surveyor at discharge
T+22 d     Final invoice, demurrage settlement, surveyor adjustment, payment trigger у L/C

Документи у системі ShipCore-Forwarder: - Inquiry (відповідь на GASC tender) - Quote (calc на основі lane history + spot rates) - Booking (multi-leg: rail leg + sea leg) - RailwayWaybill (CIM-СМГС, у shipcore_rail) - BillOfLading (HBL якщо форвардер NVOCC, або pure agency для charter party у shipcore_sea) - CommercialInvoice (через Essentials.Invoice з спец. friendly шаблоном) - CertificateOfOrigin (документ-додаток) - PhytoSanitaryCertificate (документ-додаток) - CustomsDeclaration (UA export + T1 RO — bridge до M.E.Doc) - DemurrageCalculation (на vessel, НЕ container — тут це laytime calculation з GENCON)

1.4 Ціноутворення (rate components)

Rail leg (UA + RO): - УЗ tariff: «Збірник тарифів № 1» — distance × class-rate. Полтава → Vadul Siret ≈ 1200 км × ~$0.025/t-km ≈ $30/t для 5000 t = $150K - CFR Marfă RO leg: Vadul Siret → Constanța ≈ 600 км × ~€0.04/t-km ≈ €24/t = €120K ($130K) - Wagon hire / supply fee УЗ: 80 wagons × $50/wagon = $4K - Demurrage timer на вагони у Constanța: free 48h, потім $40/wagon/day

Sea leg (Constanța → Alexandria): - Voyage charter rate: $35-50/t для bulk (волатильність — Black Sea risk premium) - Bunker (паливо) — included if charterer charters TC, separate if voyage charter - Port charges Constanța (port dues, pilotage, towage): $30-50K за vessel - Port charges Alexandria: $40-60K (notoriously expensive) - Stevedoring (load Constanța + discharge Alex): $4-6/t × 5000 = $20-30K - Demurrage / dispatch at load+discharge: per laytime calculation, $15-25K/day demurrage rate

Ancillaries: - Marine cargo insurance (ICC(A) + war risk Black Sea): 0.4-0.8% of cargo value (~$50K cargo value × $50K average per 1000t = $1-2/t × 5000 = $5-10K) - Survey at load + discharge (SGS): $4-6K each - Phyto certificate UA: ~$500 - Certificate of Origin (TPP): ~$300 - T1 NCTS guarantee + broker fee RO: €1-2K - UA export декларація brokerage: $500-1000 - Forwarder margin: 4-8% on top of cost

Total: $50-100/t freight + $5-15/t ancillaries = $275K-575K for 5000 t shipment.

1.5 Status events (UNECE codes у shipcore.shipment_event)

T+0   POD-loaded     Wagon loaded at силос Полтава              (UNECE: AE = "Goods in transit by rail")
T+0   POD-departed   Train departed Полтава-Південна            (UNECE: 4 = "On rails")
T+2   POD-customs    Vadul Siret border, T1 inspection          (UNECE: BC = "Customs inspection")
T+2   POD-released   T1 released, train continues to Constanța  (UNECE: BD = "Released")
T+5   POD-arrived    Train arrived Constanța Sud terminal       (UNECE: AG = "Arrived")
T+5   POD-discharged Wagons discharged into silo                (UNECE: AH = "Discharged")
T+7   POD-NOR        Vessel arrived, NOR tendered               (UNECE: AT = "Arrived at port")
T+8   POD-loading    Loading commenced                          (UNECE: AU = "Loading")
T+10  POD-loaded     Loading complete, Mate's Receipt           (UNECE: AV = "Loaded")
T+10  POD-sailed     Vessel sailed                              (UNECE: AX = "Departed")
T+15  POD-arrived    Vessel arrived Alexandria                  (UNECE: AT)
T+18  POD-discharge  Discharge complete                         (UNECE: AH)
T+22  POD            Final POD, surveyor sign-off               (UNECE: PD = "Proof of delivery")

1.6 UA-specific risks (must-handle у ShipCore)

Ризик Mitigation у системі
Black Sea blockade / war risk MarketCorridor model — Чорноморський коридор vs Дунайський (Reni/Izmail river barge → Constanța) vs Польсько-Балтійський (Гданськ). Перемикання маршруту у Booking = re-quote з alternative legs.
Rail bottleneck Vadul Siret / Halmeu Capacity warning на станції — warning у Quote builder якщо вибрано dispatch у тиждень peak. Phase 2: інтеграція з УЗ Cargo capacity API.
Demurrage на вагони у Constanța Timer-based (як container demurrage у ContainerHub) — alert при 24h до charge trigger.
Sea risk premium волатильний Lane rate history з multiple sources (Maersk Spot для container, Baltic Exchange BCI для bulk dry indices) — Phase 2 ingestion.
GASC tender L/C delay Контракт-як-документ (Sale contract збережений у shipcore_forwarder), пов'язаний з PartyLedger — payment status visibility.
Phyto rejection at Alexandria Pre-shipment SGS quality cert mandatory — workflow flag у Booking, рілейс vessel блокується якщо немає підпису.

1.7 Wedge validation — Use-Case 1

Модуль Залучення Critical/Optional
shipcore MarketCorridor, Carrier (УЗ Cargo, CFR Marfă, MSC), Port (Полтава elev., Vadul Siret border, Constanța Sud, Alexandria), ShipmentEvent Critical
shipcore_forwarder Inquiry, Quote, Booking (multi-leg), HBL, CommercialInvoice Critical
shipcore_rail RailwayWaybill (CIM-СМГС), WagonAssignment, RailTariff (УЗ Збірник №1) Critical
shipcore_sea VoyageCharter, BillOfLading, Demurrage/Laytime calc Critical
shipcore_pricing Lane rate (rail + sea), FSC tracking, accessorials (port charges) Critical
shipcore_auto not used (no truck leg у цьому case)
shipcore_terminal Constanța — partner термінал, НЕ наш TOS. Можливо as читач EDI manifest. Optional bridge
shipcore_avia not used

Інтеграції потрібні: - УЗ Cargo / Клієнт УЗ — wagon ordering, waybill (Phase 2 P0) - Maersk Spot або Norvic Shipping API для bulk vessel rate (Phase 2 P1) - M.E.Doc для UA export декларації (вже існує у DOP) - T1 NCTS RO (через partner broker, не direct API у v1) - SGS API для surveyor reports (опційно, можна manual upload v1) - Phyto-sanitary database UA (поки manual)

Headline value driver: shipcore_rail — без CIM-СМГС waybill і УЗ Cargo інтеграції цей use-case взагалі неможливий у автоматизованому вигляді. Конкуренти (CargoWise) RO-EU railway покривають краще, ніж UA-side. ShipCore-Rail = перший SaaS для UA grain rail forwarder workflow.


Use-Case 2 — Контейнерний імпорт Asia → Гданськ → road UA

2.1 Сценарій

Імпортер: UA retailer (типаж — Rozetka / EVA / Auchan UA / OLX-warehouse), імпортує електроніку для перепродажу. Вантаж: 1 × 40HC контейнер, 28 ton consumer electronics (CIF value $80-120K, для рахунку митних платежів). Маршрут: - Походження: фабрика Шеньчжень або Дунгуань - Drayage Шеньчжень → port Yantian - Морем: Yantian → Гданськ (DCT terminal), Maersk транспортний сервіс «AE19» або «TP6», ~32-35 days transit - Перевалка у Гданську: discharge from vessel → yard → gate-out на trucker - Road: Гданськ → A1 → A4 → Krakovets/Шегині border → Львів-Київ → склад у Броварах - Total transit: ~5-7 weeks

Форвардер: UA mid-market з partner-офісом у Гданську (типаж — GVS Logistics або аналог). Sells на DAP Brovary basis.

2.2 Учасники

Роль Учасник
Shipper Chinese factory або їх export agent
Origin agent Forwarder Hong Kong/Shenzhen partner
Sea carrier Maersk / MSC / CMA CGM (booking через web ipplane)
Destination terminal DCT Gdańsk (Deepwater Container Terminal)
Forwarder UA mid-market з PL representative office
Road carrier UA mid-market carrier з PL allowance (Profile 2 архетип)
Customs broker UA local broker (можливо ВЕТТ, Інкам Карго)
Customs broker PL для T1 transit з Гданська
Importer / Consignee UA retailer
Bank Issuing/advising bank для L/C або open account

2.3 Документообіг

T-45 d   PO + Sale contract (CIF Гданськ або FOB Yantian)
T-45 d   Forwarder books carrier (Maersk Spot або через Hong Kong agent)
T-40 d   Booking confirmation з carrier (B/L number assigned)
T-35 d   Container stuffing at factory, packing list
T-35 d   Commercial invoice + packing list (shipper)
T-32 d   VGM declaration (Verified Gross Mass) — обов'язково SOLAS
T-30 d   Container delivered to Yantian terminal, gate-in
T-28 d   Container loaded on vessel, MBL випущений (Maersk → forwarder)
T-28 d   Forwarder випускає HBL → consignee (NVOCC mode)
T-28 d   Vessel sailed
T+0      ETA pre-advise (форвардер → consignee, ~5 days перед arrival)
T-3      Vessel arrival Гданськ
T-3..0   Discharge, gate-in yard
T+0      Customs entry summary PL (ATLAS DE-style або PUESC PL system)
T+0      Free time start (Maersk: 7 days free at Гданськ)
T+1      T1 NCTS declaration випущена (Гданськ → UA border)
T+1      Forwarder dispatches road carrier (CMR + T1 attached)
T+2      Road carrier picks up container at DCT Гданськ
T+2..3   Drive Гданськ → Krakovets (≈800-900 km)
T+3      Krakovets/Шегині border crossing — UA customs import declaration
T+3      ePN зняття (УПД + М.Е.Doc submission)
T+3      Mито + ПДВ payment trigger
T+4      Container released to UA road, drive Krakovets → Brovary (≈600 km)
T+5      POD at Brovary warehouse, container unstuffed
T+10     Empty container return до depot Гданськ (або до UA depot if Maersk has)
T+15     Final invoice from forwarder (freight + customs + drayage + handling)

2.4 Ціноутворення (40HC end-to-end)

Cost component Range
Drayage Шеньчжень → Yantian $200-400
Sea freight Yantian → Гданськ (Maersk Spot) $1500-3500 (волатильність — peak season +50%)
ISPS / port security fees $50
BAF (Bunker Adjustment Factor) $200-500 (включений у спот, separately у contract rate)
THC origin (Yantian) $200
THC destination (Гданськ) $250
Doc fee (B/L) $50
Telex Release fee $50
Гданськ terminal handling (gate-out, stuffing inspection if any) $150-300
T1 NCTS declaration PL €100-150
Road Гданськ → Brovary (≈1500 km) $1500-2500 ($1.20-1.70/km)
UA customs broker fee $150-300
ePN / податкові накладні submission $50
Forwarder margin 5-8% on cost
Demurrage risk (after 7 free days at Гданськ) €50/day/cont, можливо €0 if на time
Detention risk (container not returned within free time) €40/day/cont
Total typical $3500-5500

2.5 Status events

T-30  Booked          Maersk booking confirmed
T-28  Loaded vessel   Vessel loaded, B/L issued
T-28  Sailed          Vessel departed Yantian
T-3   Arriving        ETA Гданськ (pre-advise)
T-3   Arrived         Vessel arrived
T-2   Discharged      Container discharged from vessel
T-1   Gate-in yard    Container in DCT yard
T+0   Customs entry   T1 declaration filed
T+1   Released        Customs released, available for pick-up
T+2   Gate-out        Truck gated out з DCT
T+3   Border          Krakovets crossing
T+3   Cleared UA      UA import customs cleared
T+5   POD             Delivered Brovary
T+10  Empty returned  Empty container returned

2.6 Demurrage / Detention timers (critical UX у v1)

DCSA / Maersk термінологія: - Demurrage — час, коли контейнер сидить у terminal (gate-in після discharge → gate-out). Free 7 days, потім €50-80/day. - Detention — час, коли контейнер «у клієнта» (gate-out → empty return). Free 7 days, потім €40-60/day. - Combined "Free Time" — деякі carriers дозволяють combined 14 days замість 7+7.

ShipCore-Sea.DemurrageTimer: - Стартує на event «container available at terminal» (з carrier API або terminal EDI). - Алертить за 48h до charge trigger. - Графічно показує у Booking detail як прогрес-бар. - Інтегрується з pricing.AccessorialCharge для autopost у Invoice.

2.7 Container release flow

3 типи release: - Original B/L surrender — фізично треба передати оригінал B/L у destination office carrier перед release. Найповільніший. Все ще активно у UA imports з China. - Telex Release — carrier office at origin emails confirmation до destination office, що B/L surrendered. Поширений зараз. - Express Release / Sea Waybill — без negotiable B/L взагалі, працює якщо фінансування не потребує B/L як collateral.

ShipCore-Forwarder field release_method enum, defaulту до telex_release для repeat clients.

2.8 Cross-border road (PL → UA)

  • Krakovets/Krakivets' — основний checkpoint для PL→UA truck flow, ~25-50% UA road import volume через нього. Yagodyn (UA-PL alternative) і Шегині — secondary.
  • eCMR vs paper CMR — UA приєдналася до e-CMR Protocol (UNECE), але адопція низька. Phase 1: продовжуємо генерувати paper CMR з digital copy у системі. Phase 2: eCMR через TransFollow / DigiCMR partnership.
  • TIR Carnet — використовується якщо truck не у NCTS зоні. Для UA-PL flow зазвичай T1 NCTS з PL guarantee, не TIR.
  • eTTN — UA-side обов'язкова з 2024. Generated у ShipCore-Auto (вже є у Fleet).

2.9 Wedge validation — Use-Case 2

Модуль Залучення
shipcore Container, ShippingLine, Carrier, Port, MarketCorridor (Польсько-Балтійський), ShipmentEvent
shipcore_forwarder Inquiry, Quote, Booking, HBL, MBL link, CommercialInvoice, CMR
shipcore_sea VesselSchedule, OceanBooking, BillOfLading, DemurrageTimer
shipcore_auto Waybill (UA road leg), Driver assignment, GPS (Wialon)
shipcore_pricing Lane rate sea + road, FSC, demurrage charges, accessorials
shipcore_terminal DCT Gdańsk — partner terminal, EDI inbound (COPARN/CODECO) для status events
shipcore_rail
shipcore_avia

Інтеграції: - Maersk Spot API (Phase 5 P0) — booking + tracking - Terminal49 / Vizion як backup tracking якщо Maersk API не дає event-level detail - Wialon (вже є) для UA road leg GPS - M.E.Doc / QDPro для UA import customs декларації - PUESC PL для T1 NCTS (Phase 8 EU expansion) - eTTN UA (вже є)

Headline value driver: shipcore_sea + DemurrageTimer. UA mid-market форвардери зараз ведуть demurrage у Excel або у CRM — затримки до €500-1000 на контейнер регулярні. Автоматичний timer + alert + auto-post charge до Invoice — це single biggest pain killer для container forwarder.


Use-Case 3 — Road FTL PL → UA (Krakovets)

3.1 Сценарій

Найпростіший: single-mode, single carrier, але cross-border.

Shipper: PL виробник auto parts (типаж — supplier for VW Poznań, або Polish branch of Bosch / Continental) Vehicle: UA tractor + semi-trailer (тент / curtainsider), 22 ton FTL. Forwarder: UA-форвардер з PL representative office, домовляється з carrier (часто власним парком форвардера через ту саму юридичну групу — UA mid-market road carrier архетип з Profile 2). Carrier: UA carrier (могло б бути PL teаж, але UA carrier дешевший і у форвардера є preferred relationship). Consignee: UA OEM (типаж — Богдан Моторс, Eurocar Закарпаття, або auto parts dealer)

3.2 Документи

  • CMR (Convention relative au contrat de transport international de Marchandises par Route) — або paper або eCMR. 4 копії: shipper / consignee / carrier / forwarder.
  • Commercial invoice — від PL shipper, EUR price.
  • Packing list — деталізація pallets (наприклад, 33 EUR-pallets × 660 kg avg).
  • T1 NCTS — у PL випущена, valid through UA-EU border, guaranteed by PL broker.
  • eTTN — UA-side, генерується у ShipCore-Auto при перетині кордону або одразу при дispatch.
  • MRN (Master Reference Number) — для T1 declaration.
  • LRN (Local Reference Number) — для PL-side filing.
  • EX-A (export declaration PL) — якщо товар originally not in free circulation у EU.
  • DKW / SAD — UA import декларація.

3.3 Ціноутворення

  • Lane: Wrocław / Poznań → Київ ≈ 1100-1200 km
  • Tariff: $1.20-1.50 / km × 1100 = $1320-1650 + return empty leg ($600-900 if separate).
  • FSC (Fuel Surcharge): ±5-15% залежно від diesel index (EU Eurostat WSAS-9).
  • Border wait: Krakovets — 6-24h normal, +€100-300 demurrage if >24h.
  • Driver per diem: $35-50/day (UA standard для EU trips).
  • TIR Carnet (if used): ~€50.
  • T1 PL broker fee: €30-80.
  • eTTN UA: free (generated) but commission payable to certified provider €0.10/доc.
  • Forwarder margin: 8-15% (higher for FTL ніж sea/rail bo lower volume).

Total typical: $1700-2500 for 1100-1200 km cross-border FTL.

3.4 Driver workflow (mobile app focus)

mobile/ (existing Driver App) повинен підтримувати:

Day 0  Driver picks up в PL        — eCMR scan, photo of pallets, signature
Day 0  Driver dispatched           — Wialon GPS auto-tracking
Day 1  Border arrival Krakovets    — gate event, queue position
Day 1  Border crossing             — driver photographs T1 release stamp
Day 1  UA customs                  — driver photographs DKW / SAD
Day 2  Delivery Київ               — eTTN signature on tablet (Дія.Підпис)
Day 2  POD                         — photo + signature of consignee
Day 3  Return empty (if any)       — start next assignment

Все через offline-first architecture (WatermelonDB), sync при наявності інтернету.

3.5 Status events

T+0   Loaded         CMR signed, departed Wrocław
T+0   In transit     Wialon active
T+1   Border-arrived Krakovets queue
T+1   Border-cleared T1 stamped, UA customs cleared
T+1   In transit UA  Drive to Київ
T+2   Delivered      POD at consignee

3.6 Wedge validation — Use-Case 3

Модуль Залучення
shipcore Carrier, Route, LocationPoint, MarketCorridor (EU Land), ShipmentEvent
shipcore_forwarder Inquiry, Quote, Booking (single-leg road), CMR, Invoice
shipcore_auto Waybill, Driver assignment, GPS (Wialon), eTTN, Driver mobile app
shipcore_pricing Lane rate, FSC, accessorials (border delay)
shipcore_sea/rail/terminal/avia

Інтеграції: - Wialon (existing) - eTTN (existing у Fleet) - eCMR через TransFollow / DigiCMR (Phase 8 EU expansion, поки paper CMR) - T1 NCTS — через partner broker, не direct API v1

Headline value driver: shipcore_auto + Driver mobile app. Це найочевидніша заміна для UA carriers, які зараз сидять на BAS+Excel+Wialon + paper CMR. Open-source positioning (shipcore_auto free) робить це attractive для дрібних carriers (10-50 трактів), які потім купують shipcore_forwarder коли виростають у дрібного форвардера.

Note: Use-Case 3 — single-mode, але важливий бо це щоденний хліб UA road carriers і це найдешевший implementable use-case для pilot. Якщо не запрацює UC3, всі інші не запрацюють.


Use-Case 4 — Multimodal Asia → Гданськ → rail Київ → road Brovary

4.1 Сценарій

Подібний до UC2, але замість road from Гданськ — rail to Київ + last-mile road. Це новий тренд post-2022: PKP Cargo + УЗ обростають інтермодальними сервісами через Малашевічі (PL-BY/PL-UA broad-gauge transition), і UA forwarder може отримати кращу price-per-container порівняно з 1500 km road через Krakovets.

Importer: UA distributor, e.g., електроніка / household goods для регіонального retailer'а. Cargo: 1 × 40HC, 26 ton consumer goods. Маршрут: - Origin: Asia (Шанхай / Циндао / Шеньчжень) - Sea leg: Asia → Гданськ (Maersk AE10 чи аналог), 32-35 days - Гданськ DCT terminal → rail intermodal terminal (Гданськ Kontener) — drayage 5-10 km - Rail leg: Гданськ Kontener → Малашевичі (gauge transition) → Київ-Ліски (інтермодальний термінал), ~3-5 days - Last mile road: Київ-Ліски → Brovary warehouse, ≈30 km

Forwarder: UA + PL co-office, з PKP Cargo agreement.

4.2 Учасники (extensive)

Роль Учасник
Shipper China factory / agent
Sea carrier Maersk
Maersk-side gateway termianl DCT Gdańsk
Drayage in Гданськ Local trucker (5-10 km only)
Rail intermodal carrier PKP Cargo Connect / DB Cargo Polska
Gauge transition handler Малашевичі intermodal term. (broad ↔ standard gauge)
Rail UA leg УЗ Cargo (broad gauge from Малашевичі/Ягодин на UA)
Destination intermodal term. Київ-Ліски / Бровари ICD (Inland Container Depot)
Last-mile road Local UA carrier
Customs broker UA local
Customs broker PL for T1 NCTS

4.3 Документи

  • MBL (Maersk → Forwarder)
  • HBL (Forwarder → Consignee, NVOCC mode)
  • CIM rail waybill (Гданськ → Малашевичі)
  • CIM-СМГС waybill (Малашевичі → Київ)
  • T1 NCTS PL → UA (rail-side variant!)
  • ePN UA at import
  • Last-mile CMR (Київ-Ліски → Brovary)
  • eTTN UA (last-mile)
  • VGM, ISPS, accessorial docs

4.4 Demurrage tracking (compounds)

3 timers running: 1. DCT Гданськ: demurrage if container sits >7 days waiting for rail dispatch 2. Малашевичі: transit dwell, normally 24-48h, alert if >72h 3. Київ-Ліски: local detention if not picked up by trucker within free time

ShipCore-Sea має modeling для chained demurrage timers — не один timer per container, а timer per terminal-stop.

4.5 Status events (10+)

T-30  Booked            Maersk booking
T-28  Loaded vessel     Loaded at Yantian
T-28  Sailed
T-3   Arrived           Vessel at Гданськ
T-2   Discharged        From vessel
T-1   Gate-out vessel→yard
T+0   Drayage           Truck DCT → Kontener Гданськ
T+0   Gate-in rail term Loaded on rail wagon
T+1   Rail-departed     Гданськ Kontener depart
T+2   Малашевичі        Gauge transition start
T+3   Малашевичі done   Loaded on broad-gauge UA wagon
T+3   T1 cleared at PL-UA border (rail-side, Ягодин/Krakovets-rail)
T+4   In transit UA
T+5   Київ-Ліски arrived
T+5   Discharged from rail wagon
T+6   Last mile dispatch
T+6   POD Brovary

4.6 Ціноутворення

Component Range
Drayage Шеньчжень → Yantian $200-400
Sea freight Asia → Гданськ $1500-3500
THC origin + destination $400
BAF / Doc / ISPS $400
Drayage Гданськ DCT → Kontener $80-150
Rail Гданськ → Малашевичі (PKP) €700-1200 ($770-1320)
Gauge transition fee Малашевичі €150-300
Rail Малашевичі → Київ-Ліски (УЗ) $400-700
ICD handling Київ-Ліски $100-200
T1 NCTS PL-side €100-150
UA customs broker $200-300
Last-mile road Київ-Ліски → Brovary (30 km) $80-150
eTTN free + provider fee
Forwarder margin 6-10%
Total $4000-6000

Slightly more expensive ніж pure-road (UC2), але: - Lower CO2 emissions (rail vs road) — relevant для EU CBAM-conscious shippers - Lower driver shortage risk (PL trucker shortage post-Brexit) - Capacity більш стабільний

4.7 Wedge validation — Use-Case 4

Модуль Залучення
shipcore Container, MarketCorridor, Carrier (Maersk + PKP + УЗ), Route, multiple Ports/Stations, ShipmentEvent (10+)
shipcore_forwarder Multi-leg Booking, HBL/MBL chain, CMR last-mile
shipcore_sea OceanBooking, BillOfLading, DemurrageTimer (DCT)
shipcore_rail RailwayWaybill (CIM + CIM-СМГС), gauge-transition модель, RailTariff
shipcore_auto Last-mile waybill, driver app, eTTN
shipcore_pricing Lane rate (sea + rail + road), 3 demurrage timers, FSC, multimodal cost allocation
shipcore_terminal DCT Гданськ + Малашевичі + Київ-Ліски — partner terminals, EDI inbound
shipcore_avia

Інтеграції: - Maersk Spot (Phase 5 P0) - PKP Cargo (Phase 6 P1) — для intermodal rail leg PL - УЗ Cargo (Phase 6 P0) — для broad-gauge UA leg - Wialon last-mile (existing) - eTTN, M.E.Doc, T1 NCTS (як у UC2) - Vizion / Terminal49 для container ocean tracking (backup)

Headline value driver: shipcore_forwarder Multi-leg Booking model. Це той use-case, який доказує, що ShipCore not just "Fleet з кращим UI", а platform, де multi-leg shipment з 3 modes — first-class object. CargoWise зробив це для enterprise; ShipCore робить це для UA mid-market.


Use-Case 5 — Cargo charter avia (Бориспіль → IST → DXB)

Validation use-case. Ціль — продемонструвати, що ми свідомо НЕ робимо cargo aviation як wedge у v1.

5.1 Сценарій

Broker: UA cargo broker (типаж — будь-який air-cargo intermediary, не Awery client напряму, а конкурент якогось client'а Awery). Cargo: 80 tons electronics — кейс humanitarian aid resupply, або humanitarian for Middle East, або retail electronics restock. Aircraft: Chartered Boeing 747-400F або 777F. Маршрут: - Бориспіль (KBP) → Istanbul Atatürk (IST) → Dubai (DXB) - Стопdown у IST для refueling + потенційно top-up cargo

Carrier: Turkish Cargo / Emirates SkyCargo / Atlas Air (US wet lease) GSA: General Sales Agent у UA (типаж — Air Logistics Group / Cargolux GSA UA)

5.2 Документи

  • MAWB (Master Air Waybill) — issued by airline для charter contract
  • HAWB (House Air Waybill) — issued by forwarder/broker до consignee
  • Charter Contract (ACMI vs ACM vs wet vs dry lease)
  • Packing list + commercial invoice
  • DGD (Dangerous Goods Declaration) якщо є lithium batteries у electronics
  • NOTOC (Notification to Captain) для DG
  • Security declaration — ICAO Annex 17, CASS-style
  • IATA Cargo-XML messages:
  • FFM (Flight Manifest)
  • FOH (Freight on Hand at airport)
  • RCS (Received from Shipper)
  • DEP (Departed)
  • ARR (Arrived)
  • RCF (Received from Flight)
  • DLV (Delivered)
  • AWB-numbered tracking (carrier prefix + 8-digit serial)

5.3 Charter contract types

  • ACMI (Aircraft, Crew, Maintenance, Insurance) — найповніший wet lease, charterer pays for fuel + handling + landing fees separately
  • Wet lease (синонім ACMI у розмовній мові)
  • Dry lease — тільки aircraft, charterer бере crew + maintenance + insurance свої
  • Block hours charter — pay per flight hour

Для ad-hoc cargo charter Бориспіль-IST-DXB найчастіше ACMI з Turkish Cargo або Atlas Air.

5.4 Ціноутворення

  • Hourly charter rate для 747F: $20K-35K/flight hour
  • KBP-IST-DXB ≈ 7-9 flight hours
  • Total charter: $200K-500K залежно від aircraft type, current spot demand, fuel surcharge
  • Plus: handling KBP, IST, DXB ($5-15K each)
  • Plus: any DG or special handling fees

5.5 Чому це НЕ наш wedge

Фактор Деталі
Awery domain dominance Awery 12+ years дотично у aviation cargo. Їх флагман Awery ERP покриває charter brokerage, GSA management, IATA integration на enterprise рівні. Перший клієнт Awery — ACE Cargo. Зараз 100+ aviation clients globally.
Domain expertise gap Власник DOP сам у Phase 0 декларує: «у скобках, я в ній 0». Без internal expertise або external domain partner — це 2-3 роки runway до competitive product.
IATA standards heavy Cargo-XML, ONE Record (наступник, в migration), CASS settlements, IATA TACT (rates and rules) — окрема spec stack. Awery вже їх покриває. Ми зараз — нi.
Niche TAM UA-based cargo brokers — десятки, не сотні. EU air cargo brokers — більше, але дуже консолідовані (Top-20 control >70% volume). Wedge there — direct competition with Awery, які мають network effect.
Misalignment з нашим stack Air cargo workflow не reuses Container, Vessel, Wagon — потребує Aircraft, ULD (Unit Load Device), AWB models. Це окрема domain inheritance, не shared з ShipCore-Sea/Rail/Auto.

5.6 Що ми могли б у v2-v3

  • Light AWB module у shipcore_avia як stub для multi-modal shipments (наприклад, CargoWise-style — клієнт вводить AWB number для tracking, але execution робиться у Awery).
  • Partnership з Awery — data exchange API: ShipCore-Forwarder створює aviation booking, передає до Awery для execution, повертає status events. Awery як «cargo aviation execution backend» для нашого forwarding wrapper. Власник Awery — UA-team, цілком logical conversation для exploratory partnership розмови.
  • Awery-as-a-plugin — ще раніше: ShipCore-Forwarder UI для booking, Awery integration для виконання, biling shared. Це не competing, це complementary.

5.7 Wedge validation — Use-Case 5

Модуль Залучення
shipcore_avia AWB stub, Aircraft, ULD models — зробити у v2-v3 як thin wrapper, не повний execution
shipcore_forwarder Light Booking з AWB ref, але execution outside
Решта

Headline value driver: none у v1. Цей use-case існує у документі як wedge boundary marker: «це територія Awery, ми сюди не йдемо». Це важливо документувати, щоб у Phase 4-5 не з'явилася спокуса розширюватись «бо потенційні клієнти мають aviation as part of their business» — відповідь pre-defined: bridge to Awery, not own implementation.


Cross-Cutting Concerns

Specifics, які повторюються across усіх 5 use-cases (хоча UC5 у v1 не reализуємо). Ці фічі повинні бути в backend/shipcore/ (shared core) або у Essentials horizontal модулях.

6.1 Sanctions screening

Що Де живе у DOP
Скрин client / counterparty за OFAC / EU consolidated sanctions list / DPL (Denied Persons List) / UN sanctions backend/shipcore/services/sanctions.py — utility, що бере партнера + ваги (карго / vessel / aircraft) і перевіряє проти cached lists. Для UC1-UC4 — обов'язково для будь-яких EU+ операцій.
Vessel screening (для UC1, UC4) По IMO number проти OFAC SDN ship list (для українського контексту — особливо важливо для уникнення russian-flagged vessel shipments)
Re-screening on document state change Booking.state = 'confirmed' → trigger re-check, бо shipper може потрапити у sanctions список між Quote і Booking
Refinitiv World-Check / ComplyAdvantage EU expansion v2 — partner integration. v1 — manual + free public lists

6.2 Currency conversion (USD ↔ UAH ↔ EUR)

Кожен use-case має 2-3 currency: - UC1: USD (sale price), UAH (УЗ tariff), EUR (CFR Marfă), USD (sea freight), USD/EGP (port costs Alex) - UC2: USD (sea freight), EUR (T1, road PL-leg), UAH (UA broker, eTTN, road UA-leg) - UC3: EUR (PL invoice, T1, road), UAH (UA broker, eTTN), USD (forwarder margin reporting) - UC4: USD (sea), EUR (rail PL + Малашевичі), UAH (УЗ + last-mile)

Поточний DOP підтримує multi-currency через Essentials currency engine + НБУ rates. ShipCore reuses цю інфраструктуру. Quote builder має показувати total у trio (USD/EUR/UAH) з NBU rate snapshot at quote time.

6.3 VAT handling

Use-Case VAT moments
UC1 UA grain export — 0% VAT (export exempt), VAT refund cycle через ЄРПН. Forwarder margin може бути 0% (export of services) або 20% (depending on contract structure).
UC2 UA import — 20% VAT on (CIF + duty + excise) basis. Forwarder fee — 20% VAT. ePN зняття.
UC3 UA import service — VAT on UA-leg portion. Forwarder margin VAT-able.
UC4 Same як UC2 + UC3 — VAT on UA-side legs.

Reuse Essentials VAT engine. ShipCore може потребувати partial VAT exemption modeling для transport-of-export-goods — це окрема UA tax topic, треба ADR у Phase 2.

6.4 Customs documents flow

Document Куди генерується Інтеграція
UA export декларація M.E.Doc / QDPro / Декларація-Дист Existing (через broker preferable)
UA import декларація + DKW Same Existing
T1 NCTS (EU transit) EU broker partner v1: PDF upload, v2: TransFollow / DigiCMR API
Phyto-sanitary certificate Держпродспоживслужба v1: manual scan upload
Certificate of Origin (EUR.1, Form A) TPP UA v1: PDF upload
ATR (EU-TR preferential) TPP TR v1: PDF upload

Pattern: shipcore_forwarder.CustomsDocument як attached document model з type enum + JSON schema + file blob. Не генеруємо самі у v1, але structurally model.

6.5 Mobile app для drivers

mobile/ (existing Driver App, React Native + WatermelonDB) розширюється для ShipCore: - UC2, UC3, UC4 last-mile leg — driver app для UA road portion - eCMR signature on tablet (Дія.Підпис integration) - Photo POD / packing list / customs stamp scan - Offline-first для прикордонних зон з поганим інтернетом - Multi-language (UA/EN/PL — driver may be PL-side carrier)

Не змінюється архітектурно для ShipCore — те саме що Fleet, але з reference на shipcore_forwarder.Booking замість fleet.Order.

6.6 Insurance modeling

UC1 (cargo + war risk), UC2 (cargo), UC3 (CMR carrier liability), UC4 (cargo). - shipcore_forwarder.InsurancePolicy — references provider, coverage, premium, war/terror riders - Auto-attach to Booking based on Incoterms (CIF/CIP — seller obligation; FOB/EXW — buyer) - Phase 2: integration з UA insurer API для instant cargo cert (UNIQA / ARX has it)

6.7 Surveyors & 3rd-party inspection

UC1 (SGS at load + discharge), UC2 (rare — only for high-value), UC4 (similar to UC1). - shipcore_forwarder.Survey — references inspector, scope (quality, weight, condition), report attachment, blocks/unblocks Booking state - Patterns reused від containerhub.QualityInspection


Wedge Validation Summary

Per-module участь у use-cases

Module UC1 (grain) UC2 (Asia container) UC3 (PL→UA road) UC4 (multimodal) UC5 (avia) Total / 5
shipcore (shared core) (✅ stub) 5/5
shipcore_forwarder (✅ light) 5/5
shipcore_pricing 4/5
shipcore_sea 3/5
shipcore_auto 3/5
shipcore_rail 2/5
shipcore_terminal (bridge) (bridge) (bridge) 0/5 own, 3/5 bridge
shipcore_avia (stub v2-v3) 0/5 v1

Per-integration критичність для v1

Integration UC1 UC2 UC3 UC4 UC5 v1 priority
УЗ Cargo (Клієнт УЗ) P0
Maersk Spot API ✅ (charter alt) P0
Wialon GPS ✅ done
eTTN ✅ done
M.E.Doc / QDPro ✅ existing
T1 NCTS (через partner broker) P1 (через broker, не direct API v1)
PKP Cargo P1
Terminal49 / Vizion (container tracking) P2 (backup)
eCMR (TransFollow / DigiCMR) (✅) (✅) P2 (Phase 8 EU expansion)
Phyto-sanitary UA P3 (manual upload v1)
SGS / Bureau Veritas surveyor P3 (manual upload v1)
IATA Cargo-XML / ONE Record NOT IN v1 (Awery territory)
Refinitiv / ComplyAdvantage sanctions (✅) (✅) (✅) (✅) P3 (manual + public lists v1)

Headline module per use-case

UC Headline value module Чому
UC1 grain shipcore_rail + УЗ Cargo integration Без CIM-СМГС i УЗ wagon ordering — use-case взагалі не automatable. Перший SaaS для UA grain rail forwarder.
UC2 Asia container shipcore_sea + DemurrageTimer Найбільший single pain killer — auto demurrage tracking economically saves €500-1000 per container.
UC3 PL→UA road shipcore_auto + Driver app (eTTN, eCMR) Найочевидніша заміна для UA carriers на BAS+Excel+Wialon. Open-source positioning приваблює дрібних carriers.
UC4 multimodal shipcore_forwarder Multi-leg Booking Доказує, що ShipCore — multimodal-first, не «Fleet з кращим UI». CargoWise-grade функція для UA mid-market.
UC5 avia none у v1 Awery territory, monitor + partnership conversation u v2-v3, не competing.

Wedge validation conclusion

ShipCore v1 wedge: 1. Core = shipcore_forwarder + shipcore_pricing (5/5 use-cases). 2. Vertical primaries = shipcore_auto (3/5, free, customer acquisition vehicle) + shipcore_sea (3/5, demurrage savings — sales pitch) + shipcore_rail (2/5, first-mover position, key strategic differentiator). 3. Bridges = shipcore_terminal (через partner terminals via EDI), shipcore_avia (stub for AWB references only). 4. Boundary = full air cargo execution (UC5) — сидить у Awery, не наш scope.

Phase 4-5 implementation order підтверджується: - Phase 4: refactor existing modules (Auto from Fleet, Forwarder from Logistic, Terminal from ContainerHub) + thin core - Phase 5: ShipCore-Sea + Maersk Spot integration (covers UC2, UC4, partial UC1) - Phase 6: ShipCore-Rail + УЗ Cargo (covers UC1, UC4) — це strategic moat, бо ніхто інший цього не робить - Phase 7: Pricing + Quote builder + Lane RateView (cross-cutting, без неї жоден use-case не повноцінний) - Phase 8: EU expansion (eCMR, T1 direct API, EU carrier APIs) для UC2/UC3/UC4 повноцінності


Phase 1 deliverable status

Track Status Output
Top-7 competitor deep dive 📋 separate task competitor-deep-dive.md (TBD)
5 UA customer profiles 📋 separate task customer-profiles.md (TBD)
5 use-case walkthroughs ✅ this document phase1-use-cases.md
Industry standards matrix 📋 separate task standards-matrix.md (TBD)
UA market sizing 💡 Phase 3 TBD

Linkbacks

Public sources used

  • UA grain export practice (UC1): Black Sea Grain Initiative timeline (UN, 2022-2023); Український морський коридор (07.2023+); Constanța port grain throughput statistics (Romanian Naval Authority, public reports); GASC Egypt tender documentation (publicly available); GENCON 1994 charter party (BIMCO standard form)
  • Container shipping (UC2, UC4): Maersk Spot public pricing portal; DCT Gdańsk tariff publications; DCSA standards (Demurrage & Detention definitions, B/L electronic standards); UNECE eCMR Protocol
  • Road FTL UA-EU (UC3): AsMAP / IRU rates and statistics; eTTN technical spec (Мінінфраструктури, Поstанова КМУ #207-2021-п); Krakovets/Yagodyn checkpoint operations (Державна митна служба public guides)
  • Multimodal rail PL-UA (UC4): PKP Cargo Connect intermodal service portfolio (public); Малашевичі gauge transition documentation (PKP / УЗ joint operational notes); Київ-Ліски ICD operations
  • Air cargo charter (UC5): Awery ERP public marketing materials; IATA Cargo-XML standards; ICAO Annex 17 security standards; ACMI vs dry lease industry primer (Cargo Facts magazine reference)
  • Tariff / pricing benchmarks: DAT freight rates (US, used as method reference, not direct UA application); Upply European trucking benchmarks; truck-freight-pricing-western.md research (внутрішній DOP doc); Baltic Exchange dry indices (BCI, BPI for grain)

Phase 1 / Track 3 deliverable. Drafted 2026-05-12. Next steps — Tracks 1-2-4 (competitor deep dive, customer profiles, standards matrix) як паралельні документи.