Phase 2 — Tracking, Partnerships, Compliance Providers¶
Focused research у відповідь на 3 рішення з Phase 1 corrections: C2 (Awery as Phase 9+ avia partner), C3 (WIN platform research before Phase 7 build), C-eFTI-byDesign (sanctions screening для Phase 8 EU expansion). Плюс гібридна tracking strategy з D11 (direct CarrierAdapters для top-4 + aggregator fallback).
Бюджет research: ~30-45 хв. Невпевнені факти позначені «(?)».
Track 1 — Tracking Aggregators (per D11 hybrid)¶
1.1 Vizion API (vizionapi.com)¶
Профіль. US-based developer-first container tracking API. Позиціонування — clean JSON, webhook-driven, AIS-rich data. Особливо сильні у US import flow та Class I rail intermodal.
Coverage. - 99 % global ocean freight (carriers self-claim) — підтверджено маркетингом, але без публічного списку «який саме carrier ↔ який тип події». - Усі major US terminals (publicly listed у coverage spreadsheet). - North American Class I railways (BNSF, UP, CSX, NS, CN, CP) — для intermodal. - Custom carrier integrations за окремий quote (для exotics типу Чорноморських feeder operators).
Pricing tiers (з vizionapi.com/pricing та public listings).
| Plan | Cost | What's included |
|---|---|---|
| Core | від $119/міс (?) до $399/міс (?) — ціна вказана у двох різних місцях, потребує підтвердження | Ocean tracking, webhook events, MBL+container#, AIS, vessel verification, location enrichment, Google Sheets, 24h email support |
| Professional | "Contact for pricing" (custom quote) | Core + terminal events (LFD, Available for Pickup), Class I rail, OAuth, container trace, carrier quality reports, premium support |
| Enterprise / Custom | Custom quote (volume-based) | + bespoke carrier integrations, dedicated CSM |
Note: vizionapi.com показує дві різні стартові ціни на сторінці Core ($119 vs $399). Це або A/B test, або застаріла копія. Перед production-commitment треба отримати прямий quote.
Latency / refresh. - Webhook payload приходить через 30 сек до кількох хвилин після першого track-request (initial pull від carrier). - Ongoing: Vizion polls upstream sources multiple times daily, типова latency події ≤ 6 годин від реального terminal/carrier API timestamp до webhook. - Polling fallback: GET endpoint, з check every 12 годин на оновлення (для клієнтів які не хочуть webhooks).
Sample integration (Python, REST).
import requests
VIZION_API_KEY = "vk_..."
BASE = "https://api.vizionapi.com"
# Step 1: Register a container for tracking
resp = requests.post(
f"{BASE}/references",
headers={"Authorization": f"Bearer {VIZION_API_KEY}"},
json={
"request_type": "BL_NUMBER_WITH_SCAC",
"scac_code": "MAEU",
"request_number": "234567891",
"webhook": {"url": "https://api.shipcore.io/v1/webhooks/vizion"},
},
)
shipment_id = resp.json()["id"]
# Step 2: Poll fallback (if no webhook delivered)
events = requests.get(
f"{BASE}/references/{shipment_id}",
headers={"Authorization": f"Bearer {VIZION_API_KEY}"},
).json()
Strengths для ShipCore.
- Developer-first API + clear webhooks → straight fit з нашою AggregatorCarrierAdapter.
- AIS verification — ловимо реальні vessel events, не тільки carrier-self-reported.
- Транспарентний free dev-tier (Webhook.site sandbox підтримується).
Weaknesses. - US-bias: Class I rail тільки North American, EU rail (DB Cargo, PKP) — нема. - Terminal coverage слабкий поза US/major EU портами (Constanța feeder, Reni — швидше за все no coverage out-of-box). - Pricing непрозорий вище за Core tier.
1.2 Terminal49 (terminal49.com)¶
Профіль. Прямий конкурент Vizion, ocean-first focus. Орієнтований на importers + freight forwarders, акцент на demurrage / detention cost control (Last Free Date intelligence — їхня differentiation).
Coverage. - 150+ data sources: Class I rails, US terminals, ocean carriers. - 100 % carriers що touch North America for US import data — усі доступні через єдиний JSON API. - EU coverage слабша за US (як і у Vizion).
Pricing. - Free Developer Key — до 100 контейнерів total для testing. - Production: мінімум 100 контейнерів/міс commitment (per publicly available info). - Reported per-container pricing ~$3 на контейнер at higher volume (per G2 reviews 2026 — не official price card). - Ціни вище за Vizion для small volume, але вигідніші у scale (~mid 5-figures USD/рік для 1000+ контейнерів/міс). - Enterprise / volume tiers — custom quote.
API model. Push-based webhooks при container status change (milestones, ETAs, new data). Standardized JSON across carriers — unified schema.
Strengths. - Найкраща LFD intelligence на ринку (важливо для Constanța demurrage scenarios у Чорноморському корідорі). - Free dev tier дозволяє full proof-of-integration перед billing. - Чіткіше структуроване developer onboarding (документація + sample apps на GitHub @Terminal49).
Weaknesses. - Ocean+intermodal focus; нема air, нема truck/LTL. - EU carrier nuances (Black Sea feeder operators) — швидше за все обмежено.
1.3 project44 (project44.com)¶
Профіль. Enterprise multimodal visibility platform. 1000+ enterprise brands, $100M+ ARR (FY2024), 30 %+ YoY growth. Наближається до позиції «de-facto standard у Fortune 500 supply chain».
Coverage. - 4 інтегровані модулі: transportation management, supply chain visibility, yard management, eCommerce logistics. - All modes: ocean, air, road (FTL+LTL), rail, parcel. - Найкраща network density серед aggregators — більше carrier-side OAuth handshake коробкою.
Pricing. Custom enterprise quote, не публікується. Per Tradlinx blog (2026), ціна включає setup fees, integration fees, per-shipment charges, мінімальний контракт 12+ місяців. Анонімний benchmark — від $100K/рік для mid-enterprise з 5K shipments/міс (наближення з community sources, не публічно).
Partnership program. Так, project44 має партнерську програму (TMS integrators, BI/analytics tools, customs brokers), але це resellers / certified integrators з повним enterprise compliance. Малі SaaS типу ShipCore інтегрують як data consumer, не як reseller.
Verdict для ShipCore. Скіп для v1. Економіка не сходиться — ми будемо платити enterprise ціну за кейси, де клієнт відстежує 200-500 контейнерів/міс. P44 повертаємось у Phase 9+ якщо ARPU зросте до enterprise рівня.
1.4 FourKites (fourkites.com)¶
Профіль. Multimodal visibility (road + rail + ocean + air + parcel + last-mile). 3M+ shipments/день, 200+ countries, 1200+ recognized brands (включно з 9 з top-10 CPG, 18 з top-20 F&B).
Coverage. - Ocean: 98 % global ocean traffic, ETAs 6× more accurate (per власне marketing). - EU rail: через NIC-place партнерство — позиціонує себе як «єдиний у Європі multimodal single-platform». - Yards, warehouses, stores — beyond-transport visibility.
Pricing. Per-user model, $100-500/користувач/міс (Tradlinx 2026 benchmark, third-party). Plus implementation/integration fees.
EU status. Активне розширення — Spotos partnership 2024 для European shippers, NIC-place rail. Public у EU, але historically US-first.
Verdict для ShipCore. Скіп для v1. Per-user pricing погано матчить SMB/forwarder economics (де sales+ops team може бути 30+ людей по $300/міс = $9K/міс лише за visibility — нерентабельно для ShipCore-Forwarder Mid tier).
1.5 Architectural Integration Plan (per D11)¶
Канонічний паттерн — CarrierAdapter interface. Один інтерфейс, дві реалізації; Forwarder Booking workflow вибирає за carrier_code.
# backend/shipcore/integrations/carrier_adapter.py
from __future__ import annotations
from abc import ABC, abstractmethod
from dataclasses import dataclass
from datetime import datetime
from typing import Iterable
@dataclass(frozen=True)
class TrackingEvent:
"""Канонічна модель події незалежна від carrier."""
booking_ref: str
container_no: str | None
event_code: str # UNECE event codes (LOAD, DISC, GATE_IN, GATE_OUT, ...)
event_time: datetime
location_unlocode: str | None
vessel_imo: str | None
voyage_no: str | None
raw_source: dict # original payload для audit
class CarrierAdapter(ABC):
"""Базовий контракт. Кожен carrier — direct або aggregator."""
carrier_code: str # SCAC (MAEU, HLCU, CMAU, MSCU, ...) або aggregator id
@abstractmethod
def register_tracking(self, booking_ref: str, container_no: str | None) -> str:
"""Підписатись на оновлення; повертає external tracking id."""
@abstractmethod
def fetch_events(self, tracking_id: str) -> Iterable[TrackingEvent]:
"""Pull-fallback. Зазвичай використовується тільки якщо webhook не прийшов."""
@abstractmethod
def parse_webhook(self, payload: dict) -> Iterable[TrackingEvent]:
"""Push-канал. Webhook handler передає сюди raw payload, отримує канонічні events."""
class DirectCarrierAdapter(CarrierAdapter):
"""OAuth2 + carrier-native REST. Maersk, Hapag-Lloyd, CMA CGM, MSC."""
# Підкласи:
# MaerskSpotAdapter (Phase 5)
# HapagLloydAdapter (Phase 8)
# CmaCgmAdapter (Phase 8)
# MscEbusinessAdapter (Phase 8)
class AggregatorCarrierAdapter(CarrierAdapter):
"""Vizion / Terminal49 fallback для всіх інших carriers."""
def __init__(self, provider: str, api_key: str):
self.provider = provider # 'vizion' | 'terminal49'
self.api_key = api_key
# backend/shipcore/integrations/registry.py
CARRIER_ADAPTERS = {
'MAEU': MaerskSpotAdapter, # P0 — Phase 5
'HLCU': HapagLloydAdapter, # P1 — Phase 8
'CMAU': CmaCgmAdapter, # P1 — Phase 8
'MSCU': MscEbusinessAdapter, # P1 — Phase 8
# Решта (ONE, ZIM, COSCO, Evergreen, Yang Ming, HMM, ...) → fallback
}
def get_adapter(carrier_code: str) -> CarrierAdapter:
cls = CARRIER_ADAPTERS.get(carrier_code)
if cls:
return cls()
return AggregatorCarrierAdapter(provider='vizion', api_key=settings.VIZION_API_KEY)
Model side.
- shipcore.Booking.tracking_status — denormalized last event
- shipcore.ShipmentEvent (from D6 thin core) — append-only лог нормалізованих подій
- shipcore.integrations.CarrierCredential — OAuth tokens / API keys per tenant per carrier
Webhook side.
- Single endpoint /api/v1/webhooks/{provider} (provider ∈ direct carriers + aggregators)
- HMAC verification per provider (Maersk uses signature header, Vizion uses webhook secret)
- Async processing через Celery → write ShipmentEvent, update Booking.tracking_status, broadcast у Channels (live UI update)
1.6 Cost Analysis — UA Mid-Market Customer (500 containers/month)¶
Профіль: UA forwarder, 500 нових контейнерів/міс, 80% з top-4 carriers (Maersk/Hapag/CMA/MSC) → решта 100 контейнерів/міс на ONE/ZIM/COSCO/Evergreen.
Сценарій A — Vizion для всіх 500 контейнерів. - Estimate: $500-800/міс при Core tier з custom quote (на 500 моніторингів). - Setup once, no per-carrier OAuth maintenance. - Cost-per-container: ~$1.0-1.6.
Сценарій B — Direct top-4 + Vizion fallback (D11 hybrid, ShipCore default). - Maersk/Hapag/CMA/MSC direct → API costs $0 (carriers самі надають free OAuth tier для forwarders). - 100 контейнерів/міс через Vizion → estimate $120-200/міс. - Total: $120-200/міс для 500 контейнерів. - Cost-per-container: ~$0.24-0.40. - Hidden cost: dev час на 4 direct adapters (~5-7 днів кожен у Phase 5+8 = ~25 днів total).
Сценарій C — Terminal49 для всіх 500. - ~$3/контейнер × 500 = $1500/міс. - Pure ocean focus, найкраща LFD intelligence (плюс для UA→Constanța demurrage). - Setup за день, free dev tier для тестування. - Cost-per-container: $3.
Сценарій D — project44 / FourKites. - Enterprise pricing $50K-150K/рік. - $8K-12K/міс для 500 контейнерів — 3-5× вище за прямого forwarder margin на цьому обсязі. Не life-viable для UA mid-market.
Recommendation.
| Phase | Strategy | Reasoning |
|---|---|---|
| Phase 5 (MVP) | Сценарій B — Maersk direct + Vizion fallback | Найдешевше + найшвидший time-to-market |
| Phase 8 (EU expansion) | Додати Hapag/CMA/MSC direct → знижуємо vendor-lock на Vizion | Якщо ZAMMLER pilot покаже >2K контейнерів/міс, Terminal49 стає економічно вигіднішим за Vizion для LFD-intensive flows |
| Phase 9+ | Reconsider project44, якщо ARPU > $5K/міс per tenant | Тоді OK платити $100K/рік за coverage |
Track 2 — Awery Partnership Plan (Phase 9+ avia)¶
2.1 Awery — публічна інформація¶
| Параметр | Значення | Джерело |
|---|---|---|
| Заснована | 2010 (UA-походження, IT-команда родом з Києва, юр. особа дрейфувала) | crunchbase, awery.aero/about-us (?) |
| Поточний HQ | RAK (Ras al Khaimah, UAE), 31291 | ZoomInfo |
| Альт. локації | Montreal CA (founding office), Київ (R&D), Singapore, EU desk | LinkedIn (?) |
| Розмір | ~67 employees (Feb 2026) на 4 континентах (EU, Asia, NA, ME) | ZoomInfo |
| CEO / Founder | Vitaly Smilianets | |
| COO | Vladimir Gabovich | |
| CCO/CXO | Tristan Koch | |
| Продукт | Awery ERP — повний aviation ERP: airline ops, ground handling, GSSA, cargo, charter, fleet maintenance | awery.aero |
| Notable customers | Etihad Cargo (Cargo Chartering Programme), Network Aviation Group (global IT transformation), Group Concorde (GSSA) | meantime.global press, aviation press |
2.2 ONE Record positioning — чому саме Awery¶
- 5× IATA ONE Record Hackathon winner (latest — Hong Kong 2026 з проєктом «Voyager», 48-hour build).
- Перший digital provider інтегрований з IATA CO2 Connect for Cargo (March 2026).
- Keynote IATA WCS 2026 (Lima, 10-12 March): «ONE Record as the Backbone for Sustainable Air Cargo» — Awery себе позиціонує як ONE Record thought leader.
- IATA Survey (Dec 2025): зростаюча обізнаність ONE Record серед stakeholders, але fragmentation залишається — Awery позиціонується як консолідатор.
Mandatory ONE Record transition timing. - З січня 2026 ONE Record стало IATA-preferred standard для cargo data exchange. - Mandatory adoption — 2026 (Loadstar, IATA press), але exact compliance enforcement дата для airlines не зафіксована (поки IATA tracks adoption metrics).
2.3 API documentation — public vs partner-gated¶
- awery.aero показує product modules (Cargo Spot, Crew, Maintenance, Charter), але немає публічного
developer.awery.aeroportal на момент перевірки. - API доступне через partnership / customer relationship — partner-gated.
- ONE Record API specification — public (IATA standard), Awery впроваджує як reference implementation.
- Dev-evidence: GSSA-онбординги Awery (Group Concorde, FEDAGSA winner) — це їхні комерційні integrations, не open standard.
2.4 Можливі partnership models¶
Model A — Reseller (ShipCore продає Awery avia як addon). - ShipCore отримує margin (15-25 %?) на subscription Awery. - Plus: швидкий time-to-market для UA forwarders, які потребують air cargo flow. - Minus: ShipCore залежить від Awery roadmap; немає differentiation. - Fit: medium — імітує модель CargoWise + add-ons.
Model B — White-label (Awery використовує ShipCore stack для UA-ринку). - Awery бере ShipCore-Forwarder як «UA local TMS», ShipCore тримає UA compliance (eTTN, M.E.Doc, ДПС). - Plus: Awery приходить на UA-ринок без own UA-compliance R&D. - Minus: Awery значно більший — переговорна позиція слабка для ShipCore. - Fit: low — Awery, маючи 67 employees + UAE/Canada/UA-roots, не потребує UA proxy. Вони краще наймуть UA dev-shop напряму.
Model C — Bidirectional data exchange (Awery AWB ↔ ShipCore Booking). - Інтеграція через ONE Record (обидві сторони speak ONE Record). - ShipCore Booking, що включає avia leg, передає shipment data в Awery; Awery повертає AWB events назад у ShipCore. - Plus: clean separation of concerns. Кожен робить своє. Standards-based. - Minus: вимагає, щоб ShipCore сам впровадив ONE Record consumer (Phase 8 deliverable). - Fit: HIGH — це найреалістичніший шлях. Не вимагає commercial agreement — лише technical interop.
Model D — Joint venture. - Awery + ShipCore спільно засновують UA-логістична-плагін company. - Минус: занадто складно для current sizes, Awery не має stake-incentive. - Fit: very low — не реалістично.
2.5 Outreach plan¶
Decision-makers (рекомендований порядок). 1. Tristan Koch (CCO/CXO) — найбільш approachable для partnership conversation; саме його роль — partner/customer experience. LinkedIn outreach + опис ShipCore як ONE Record-ready UA TMS. 2. Vladimir Gabovich (COO) — якщо Tristan ескалює до операційного рішення. 3. Vitaly Smilianets (CEO/Founder) — лише для commercial commit; перші 2 розмови — не з ним.
Channels.
- LinkedIn DM — primary (Tristan активно постить, є шанс на дзеркальну response).
- IATA WCS 2027 (March, location TBD на момент написання) — face-to-face during keynote/booth (Awery має regular presence).
- Direct email через partners@awery.aero (?) — secondary, після LinkedIn warm-up.
- Через UA tech community — Awery R&D team історично з Києва, є шанс «теплого» intro через Lviv/Kyiv tech meetups.
Timeline.
| Phase | Action |
|---|---|
| Phase 4-5 (зараз — кін. 2026) | Soft intro через LinkedIn + email; share ShipCore concept doc (1-page, non-NDA). Goal: introductory call, not commitment. |
| Phase 6-7 (2027 H1) | Якщо positive: design ONE Record interop spec разом. ShipCore робить proof-of-concept Booking → AWB exchange. |
| Phase 8 (2027 H2) | Production rollout як Model C для першого spinning UA-forwarder клієнта з air cargo лінією. |
| Phase 9+ | Якщо traction — обговорити Model A reseller agreement. |
2.6 Risks¶
- R1: Awery занадто large щоб ігнорувати ShipCore proposal. Реальний ризик — 67 співробітників, корпоративний customer base (Etihad, Network Aviation), річна виручка ~$5-15M (?). UA SMB ринок для них — non-priority. Mitigation: не продавати їм нічого, продавати їх клієнтам ShipCore як local UA layer. Заходимо через клієнтів-агентів Awery в UA, не через Awery HQ.
- R2: ONE Record adoption повільніша за маркетинг. IATA survey Dec 2025 показав «growing awareness» — це diplomatic для «slow adoption». Якщо до Phase 9 ONE Record все ще не mandatory, Model C технічно ускладнюється (треба підтримувати legacy Cargo-IMP/Cargo-XML паралельно).
- R3: UA-roots Awery — palpable conflict. Якщо Awery планує власний UA-launch (припустимо, через Києв R&D), ми можемо стати конкурентами, не партнерами. Mitigation: перші розмови у Phase 4-5 саме для калібрування цього сигналу.
Track 3 — WIN Platform Deep (Phase 7 buy-vs-build)¶
3.1 WIN — повне ім'я та позиціонування¶
- Worldwide Information Network (WIN) — підтверджено через winwebconnect.com та Riege press release.
- HQ: Bangkok, Thailand. Customer service offices у Asia, Europe, Africa, North America.
- Parent company: не зафіксовано публічно. Independent organization (?).
- Брендинг: на market presence — як «WIN» / «WIN Connect»; домен
winwebconnect.com.
3.2 Coverage — air vs ocean¶
Важливе уточнення з research: WIN в момент Riege Scope integration позиціонувався як «air freight only». Сторінка winwebconnect.com/Public/Products/WIN_airfreight.html явно air-only product (e-AWB, e-Manifest, AWB tracking, 160+ airlines).
Riege Scope Implementation press release (історичний): натякає на «Worldwide Information Network… для air and ocean freight forwarding» — але це Scope's capability (Scope покриває обидва), не WIN's. Імовірно, Riege використовує WIN тільки для air-leg, а ocean — інший connectivity (DCSA, native carrier APIs).
Висновок: WIN = air-cargo connectivity hub. Якщо потрібен ocean rate aggregation, WIN — не той інструмент. Це критично для Phase 7 decision.
3.3 Pricing model¶
- Не публікується. Сайт декларує «account free of charge» лише для destination agents (consume-only side), не для primary forwarders.
- Бізнес-модель — subscription per forwarder office (?) + можливі transaction fees (?).
- IATA multilateral e-AWB enrollment включений (single-click).
Естімація для UA-forwarder з air desk (без публічних чисел): $200-800/міс/office, базуючись на типовому EDI service-bureau pricing у regions (?).
3.4 Customer base & integration patterns¶
- 160+ airlines з'єднано (через IATA Cargo-IMP, Cargo-XML, future ONE Record).
- Customer types: independent forwarders, co-loaders (з окремими credentials).
- Integration pattern (Riege case): system-to-system REST/Web Service wrapper над IATA messaging. Riege Scope викликає WIN API для:
- Send FWB (e-AWB master) до airlines
- Send FHL (e-Manifest, house AWBs) до airlines
- Receive FSU status updates / tracking events
- WIN documentation public: «WIN Air Freight API» Release 3.4 + 3.5 PDFs доступні з
winwebconnect.com/Public/Resources/TechDocs/.
3.5 Buy-vs-Build для ShipCore-Pricing (Phase 7)¶
Корекція: оригінальна постановка C3 — «WIN platform research перед
LaneRateHistorybuild». Але WIN — це air messaging hub, не rate aggregator. Тому buy-vs-build треба передефінувати.
Що ми реально хочемо у shipcore_pricing.LaneRateHistory:
1. Спостерігати ринкові ставки на маршрутах (UA→Constanța feeder, EU↔Asia ocean, EU intra-road).
2. Storing tenant-private quotes/contracts → benchmark внутрішніх margin.
3. Trend analytics (FSC adjustments, seasonal premium) для CPM calculator.
WIN не вирішує цього. Ні. WIN — це e-AWB connectivity layer. Аналог для ocean — DCSA APIs / INTTRA (legacy). Аналог для rate aggregation (що ми думали) — це Xeneta (ocean+air freight rate analytics platform), Freightos / WebCargo (booking marketplace), Freightify (rate management SaaS).
Перевизначений buy-vs-build (для Phase 7).
| Опція | Cost | Timeline | Differentiation | Recommendation |
|---|---|---|---|---|
| Build LaneRateHistory tenant-private (з нашого виконаного booking flow) | ~10-15 дн dev | 2-3 тижні | High — UA-coridor specifics (Чорноморський feeder, Дунайський, EU Land), які не покриває жоден aggregator | GO (Phase 7) |
| Partner Xeneta для ocean+air market index | $50-150K/рік (?) (enterprise) | 1-2 тижні interop | Low — дані доступні всім; ми лише robust UI поверх | Pas в v1; reconsider у Phase 9 |
| Partner WIN для air e-AWB connectivity | $200-800/міс/office (?) | 2-4 тижні | Air-only; не пересікається з shipcore_pricing scope | Розглянути у Phase 9 з shipcore_avia як partner до Awery (Track 2 вище) |
| Partner Freightify для contract rate management UI | Custom (10-30K/рік?) | 2-3 тижні | UI/UX покращення, але lock-in | Skip — будуємо свій pricing engine |
Recommendation Phase 7.
- Build shipcore_pricing.LaneRateHistory як tenant-private aggregator з виконаних Booking.executed_rate записів.
- Не партнер ні з ким для market rate intelligence у v1.
- WIN partnership — переніс у Phase 9 як частину shipcore_avia + Awery narrative (air e-AWB connectivity), не у Phase 7 pricing.
Track 4 — Compliance Screening Providers (Phase 8)¶
4.1 EU public sanctions XML feed (free baseline для v1.5)¶
Source. European Commission DG FISMA — Consolidated Financial Sanctions List.
URLs (verified):
- XML feed (token-protected, free public token):
https://webgate.ec.europa.eu/fsd/fsf/public/files/xmlFullSanctionsList_1_1/content?token=dG9rZW4tMjAxNw
(token dG9rZW4tMjAxNw — public, base64 за «token-2017»)
- RSS update feed: https://webgate.ec.europa.eu/fsd/fsf/public/rss
- Data portal landing: https://data.europa.eu/data/datasets/financialsanctions
Format & schema. - XML 1.1 schema (FSF), structured: entities (persons, groups, vessels), sanctions programmes, regulation references, identifiers (date of birth, place, passport, registration number). - Updated same day as Official Journal publication; baseline daily refresh recommended.
Coverage limitations (free feed).
- ✅ Усі EU CFSP sanctions programmes (включно з RU, BY, IR, KP, SY, etc.).
- ❌ Нема OFAC SDN (US) — окрема feed від OFAC, але теж free (sanctionssearch.ofac.treas.gov + treasury.gov XML).
- ❌ Нема UK HMT consolidated list (post-Brexit окремо) — теж free, gov.uk OFSI.
- ❌ Нема UN consolidated list — free feed від un.org/securitycouncil/content/un-sc-consolidated-list.
- ❌ Нема PEP (Politically Exposed Persons) — це коммерційний продукт.
- ❌ Нема adverse media — коммерційний продукт.
Висновок: для v1.5 baseline (KYC perform на client creation + перед invoice issue) EU + OFAC + UK HMT + UN free feeds — достатньо для basic compliance. PEP/adverse media — paid upgrade.
4.2 Refinitiv World-Check One (LSEG)¶
Профіль. De-facto enterprise standard для KYC/AML screening. LSEG (London Stock Exchange Group) brand з 2023 (раніше — Refinitiv).
Coverage. - 57,000+ active sanctions records, 300+ sanction programmes. - 10,000+ global information resources, 900+ sanction/regulatory/law-enforcement lists, 5900+ official/government sites. - Major lists OFAC, EU, UN — 24/7/365 monitored. - Включає PEP, adverse media, beneficial ownership.
API. - World-Check One — API-first, REST. - Batch screening + real-time за one-call API. - OAuth + HMAC signing. - Документація — partner-gated.
Pricing. - Не публікується. Per G2 reviews + community: «extraordinarily expensive», тижні-місяці на implementation. - Annual enterprise contract; multi-year discounts. - Anonymous benchmarks: starting $25K-50K/рік для small SME tier; enterprise — $100K+/рік (?).
Verdict для ShipCore. Skip у v1, reconsider у Phase 9. Цінник не стикується з UA mid-market economics. Reseller / GSI partner channel — складно отримати без enterprise sales rep.
4.3 ComplyAdvantage¶
Профіль. Modern AI-driven AML/sanctions/PEP screening, fintech-favorite. Базовано в London, серйозний competitor World-Check на digital-native side.
Coverage. - Real-time updates з OFAC, HMT, EU consolidated, UN + 60+ jurisdictions. - PEP database, adverse media, watchlists. - Manual data quality checks expert team.
API. - REST + JSON, sandbox. - SFTP batch + web UI alternatives. - Mambu + AWS marketplace integrations.
Performance. - Reported: 70 % reduction in false positives, 50 % faster onboarding, 95 % automation of KYC reviews.
Pricing. - Не публікується. Анонімні benchmarks: $15-30K/рік для small SaaS (1-10K screenings/міс), $50-150K/рік mid-tier. - Per-screen pricing у некоторих tiers (~$0.05-0.50/screen volume).
Verdict. Strong upgrade candidate для Phase 9 як заміна або complement до vector EU+OFAC free feeds. Дешевше за World-Check, modern API, краща fit для SaaS архітектури.
4.4 Sanctions.io¶
Профіль. Cost-effective developer-first screening API. Орієнтований на fintech/SaaS, не enterprise.
Coverage. - 75+ sanctions/watchlists з 30+ jurisdictions. - PEP database 1M+ records (включно сім'ями та close associates). - Interpol + FBI 8K records — free with subscription.
Performance. - Lists updated every 60 minutes. - 99.99 % uptime, < 350 ms response time. - REST API, batch screening, manual UI, CRM integrations.
Pricing. - Контрактна з online volume calculator — не fixed published rates. - Tiered за screening volume. - Анонімні benchmarks: starts ~$200-500/міс для small volume (1-5K screenings/міс), scaling to $2-5K/міс mid (50K screenings/міс).
Verdict. Best fit для Phase 8 v1.5. Прозоріше за World-Check, дешевше за ComplyAdvantage, sufficient coverage для UA forwarder KYC flow.
4.5 Recommendation: progressive upgrade path¶
v1 (Phase 5-7) — UA-only. - KYC focus: UA-only клієнти. Перевірка через ДПС (вже інтегровано) + Опендатабот (free). - Sanctions screening — deferred (не вимагається для UA-only flow в межах UA).
v1.5 (Phase 8) — EU expansion baseline. - EU consolidated XML (free) + OFAC SDN (free) + UN consolidated (free) + UK HMT (free). - Pre-load locally, daily refresh job (Celery beat). - Screening — на client create + перед invoice issue + cron-job для existing client revisit. - Reasoning: free; для small UA forwarder з єдиним 1-2 EU клієнтами на рік досить.
v2 upgrade (Phase 9+, optional, premium tier). - Sanctions.io як default upgrade path для клієнтів які хочуть PEP + adverse media + frequent refresh. - ComplyAdvantage як enterprise tier для клієнтів з 1000+ KYC checks/міс. - World-Check / LSEG — лише за explicit enterprise customer request (multinational forwarder).
4.6 Implementation note¶
# backend/shipcore/compliance/sanctions/__init__.py
class SanctionsProvider(ABC):
@abstractmethod
def screen(self, name: str, country: str | None = None,
birth_date: date | None = None) -> ScreeningResult:
...
class EuFreeProvider(SanctionsProvider):
"""v1.5 default. Локальний XML cache + fuzzy match (rapidfuzz)."""
refresh_url = "https://webgate.ec.europa.eu/fsd/fsf/public/files/xmlFullSanctionsList_1_1/content?token=dG9rZW4tMjAxNw"
class SanctionsIoProvider(SanctionsProvider):
"""v2 upgrade path."""
class ComplyAdvantageProvider(SanctionsProvider):
"""Enterprise tier."""
class WorldCheckProvider(SanctionsProvider):
"""LSEG enterprise."""
Plus tenant settings — tenant.compliance.sanctions_provider (eu_free | sanctions_io | complyadvantage | worldcheck), default eu_free.
Sources¶
Tracking aggregators¶
- Vizion API Pricing
- Vizion API Overview
- Vizion API Quick Start
- Terminal49 API Pricing
- Terminal49 Container Tracking API
- Terminal49 — Best Container Tracking 2026
- project44 Pricing Guide 2026 — Locus
- project44 Decision Intelligence Platform
- FourKites Real-Time Visibility
- FourKites Ocean Freight Visibility
- FourKites Spotos Partnership Press
- Tradlinx — How Much Does p44/FourKites/Vizion Cost
Awery¶
- Awery Aviation Software
- Awery Customers
- Awery Crunchbase
- Awery LinkedIn
- Awery wins 5th IATA ONE Record Hackathon — Payload Asia
- Awery wins IATA ONE Record Hackathon — CargoForwarder
- Awery integrates IATA CO2 Connect — Air Cargo News
- Awery + Group Concorde GSSA partnership
- IATA WCS 2026 Press Release
- IATA ONE Record adoption survey Dec 2025
- The Loadstar — ONE Record deadline
WIN platform¶
- Riege implements WIN into Scope (press release)
- WIN Airfreight product page
- WIN Air Freight API Release 3.5 PDF
- WIN LinkedIn
- Forward + WIN e-AWB to 90 airlines
Sanctions screening¶
- European Commission Sanctions Overview
- EU Consolidated List of Financial Sanctions Targets
- EU Sanctions XML feed (webgate)
- EU FSF — OpenSanctions dataset
- LSEG World-Check KYC
- Refinitiv World-Check One Brochure
- ComplyAdvantage Sanctions Screening
- ComplyAdvantage homepage
- Sanctions.io Screening API
- Sanctions.io Sanctions Lists coverage
Phase 2 Track 1-4 research зафіксовано 2026-05-12. Подальша робота:
- Phase 5 — реалізація CarrierAdapter interface + Maersk direct + Vizion fallback.
- Phase 4-5 — soft outreach до Awery (Tristan Koch via LinkedIn).
- Phase 7 — build shipcore_pricing.LaneRateHistory (без зовнішнього rate aggregator у v1).
- Phase 8 — shipcore.compliance.sanctions з EU XML free feed; sanctions.io upgrade path задокументований.