Commercial Model — Коммерческая модель, цена, settlement и канальные условия
Версия: 1.0
Дата: 23.04.2026
Статус: Готов к обсуждению
Назначение документа
Этот документ фиксирует commercial model как самостоятельный обязательный домен платформы.
Его задача — жёстко собрать в одном месте:
- из чего вообще состоит цена в платформе;
- где проходит граница между supplier price, platform commercial logic, quoted price и settlement-relevant figures;
- как коммерческие правила зависят от tenant, agency, partner, channel и actor context;
- что именно платформа обещает в коммерческом смысле на этапах discovery, offer, quote и booking;
- как должны мыслиться комиссии, markup, fee, override, discount и иные денежные модификаторы;
- как должна быть устроена settlement-модель между платформой, поставщиком, агентством, партнёром и иными участниками.
Без этого документа pricing, quote, partner model, agency model и booking остаются логически связанными, но концептуально недоформленными.
Опорные документы
- Архитектурная основа платформы vitrip.store
- Главные выводы и проблемные зоны платформы
- Documentation Master Plan — Project 15 Structure Snapshot
- Domain Model — Центральная доменная модель платформы
- Tenancy And Identity — Субъекты платформы, изоляция и модель доступа
- Offer Pricing Booking Semantics — Семантика предложения, цены и бронирования
- Partner Finance And Clearing — Балансы, лимиты, взаиморасчёты и финансовая дисциплина партнёров
- Post-Booking Lifecycle — Изменения, отмены, инциденты и сопровождение после продажи
- Tenant Configuration And Enablement — Тенантная настройка, policy и ввод в эксплуатацию
- Business Services — Сервисная декомпозиция платформы
- API Contracts — Surface Contracts и правила внешнего взаимодействия
- Clients Layer — Клиентские поверхности и рабочие модели
- Storage Layer — Модель хранения и жизненный цикл данных
- Database Schema — Каноническая модель хранения платформы
- Suppliers Layer — Поставщики, source boundaries и управление внешней реальностью
Почему Этот Документ Нужен Отдельно
В Главные выводы и проблемные зоны платформы уже зафиксировано, что commercial domain пока недооформлен как самостоятельный слой.
Это критично, потому что без отдельной коммерческой модели платформа не сможет последовательно определить:
- какую цену видит агент;
- какую цену видит партнёр;
- какую цену видит B2C-клиент;
- где заканчивается supplier economics и начинается platform commercial policy;
- как оформляется quote;
- что именно потом участвует в booking;
- какие суммы участвуют в settlement и reporting;
- как считать overrides, commissions, fees и discounts.
Commercial domain здесь не является “просто калькулятором цены”. Это часть архитектурного ядра платформы.
При этом commercial domain не закрывает собой:
- partner clearing and credit exposure;
- tenant enablement policy;
- post-booking amendment and cancellation execution.
Эти контуры связаны с ним, но требуют собственной доменной фиксации.
Что Master Plan Требует От Этого Документа
Этот документ напрямую закрывает часть обязательных пунктов из Documentation Master Plan — Project 15 Structure Snapshot:
197— определить состав цены:source price,markup,fee,commission,discountи финальную стоимость;198— зафиксировать правила округления, валютной конвертации и расчёта итоговой цены для разных рынков;199— определить, в какой момент цена считается подтверждённой для клиента, агента и внутренней системы;200— описать модель коммерческого предложения, срок его жизни и условия пересчёта;201— определить правила индивидуальных ценовых условий для партнёров, агентств и каналов продаж;202— зафиксировать принципы пересчёта цены при изменении supplier data, валюты или состава услуги;246— зафиксировать модель settlement между платформой, поставщиком, агентством и другими участниками цепочки.
Ни один из этих вопросов не должен оставаться размазанным между pricing, booking, partner API и clients.
Главный Принцип Commercial Model
Платформа должна различать:
- supplier economics
- normalized commercial basis
- channel / tenant / partner / agency-specific commercial policy
- quoted commercial promise
- settlement-relevant financial reality
Если платформа начинает использовать один и тот же monetary object для всех пяти ролей, она теряет:
- объяснимость цены;
- управляемость overrides;
- честность quote-level обещания;
- устойчивость booking path;
- пригодность к settlement и reporting.
Commercial Domain Не Равен Pricing Math
Цена в платформе — это не только арифметика.
Commercial domain включает:
- правила формирования final visible price;
- правила channel-specific visibility;
- правила quote validity;
- правила индивидуальных условий;
- правила downstream settlement;
- правила пересчёта при drift supplier data;
- правила коммерческой ответственности между участниками.
Поэтому commercial model должен быть доменным документом, а не набором formulas appendix.
Базовые Денежные Слои
На текущем этапе разумно закрепить как минимум пять смысловых слоёв.
1. Supplier Raw Price
Это денежная реальность поставщика, как он её возвращает.
Она может включать или не включать:
- налоги;
- fees;
- service charges;
- cancellation penalties;
- occupancy-based additions;
- currency-specific rounding.
Эта цена важна, но сама по себе почти никогда не должна считаться финальным platform promise.
2. Normalized Base Price
Это supplier-derived price после приведения к внутренней нормализованной форме.
Она нужна для:
- сопоставимости;
- explainability;
- дальнейшей коммерческой логики;
- честного перехода к quote.
3. Commercial Rule Output
Это результат применения platform / tenant / channel / partner / agency-specific правил:
- markup;
- commission logic;
- fee;
- discount;
- override;
- currency policy;
- rounding policy.
Этот слой уже не является supplier truth. Это platform commercial interpretation.
4. Quoted Price
Это цена, зафиксированная в Quote для конкретного actor / tenant / workspace / channel context.
Именно quoted price является самым близким к коммерческому обещанию платформы в пределах quote validity window.
5. Settlement-Relevant Figures
Это денежные величины, нужные для:
- supplier payable;
- agency commission accounting;
- platform revenue accounting;
- partner revenue share;
- refund and cancellation calculations;
- reconciliation and reporting.
Они могут совпадать с quoted price частично, но не обязаны быть тождественными ему.
Состав Цены
Платформа должна быть способна явно мыслить состав final visible price.
Минимальные Компоненты
source_pricesource_tax_component, где применимоnormalized_base_priceplatform_markupagency_markuppartner_overrideservice_feediscountcurrency_conversion_adjustmentrounding_adjustmentfinal_visible_price
Что Нельзя Делать
- смешивать commission и markup как одну абстрактную “надбавку”;
- терять origin каждого денежного компонента;
- скрывать, какая часть суммы supplier-derived, а какая platform-derived;
- использовать один field
priceбез смыслового слоя.
Коммерческие Акторы
Commercial model должен опираться на модель субъектов из Tenancy And Identity — Субъекты платформы, изоляция и модель доступа.
Internal Platform
Платформенный контур задаёт:
- базовые commercial rules;
- channel policies;
- settlement logic;
- override governance;
- revenue accounting policy.
Agency
Agency — working and commercial actor, который может иметь:
- свои price visibility rules;
- свои markup policies;
- свои customer-facing proposal rules;
- свою commission / margin model;
- свои workspace-bound commercial permissions.
Partner
Partner — contract actor, который может иметь:
- отдельные price policies;
- отдельные contract scopes;
- отдельные overrides;
- отдельные revenue-share or fee model;
- отдельную settlement logic.
Client / End Customer
Конечный клиент не обязательно является самостоятельным commercial configurator, но именно ему может быть адресовано final visible proposal.
Supplier
Supplier остаётся внешним economic counterparty, но его economics не должны напрямую подменять внутреннюю коммерческую модель платформы.
Agency И Partner Не Должны Сливаться В Один Commercial Type
Это один из ключевых выводов.
Agency
Agency использует платформу для собственной агентской работы и customer servicing.
Для неё важны:
- working quote model;
- margin control;
- customer proposal model;
- booking follow-up;
- commission and performance accounting.
Partner
Partner взаимодействует через внешний contract surface.
Для него важны:
- contract pricing policy;
- API-visible commercial semantics;
- quotas and channel constraints;
- partner-specific override model;
- partner settlement logic.
Они могут быть похожи как organizational types, но commercial behavior у них не обязан совпадать.
Канальные Commercial Rules
Коммерческая политика должна быть channel-aware.
B2B Agency Surface
Может требовать:
- richer price breakdown;
- quote validity transparency;
- access to agency-specific margin semantics;
- proposal-oriented commercial view.
Partner API Surface
Может требовать:
- contract-safe price representation;
- stable machine-readable amounts;
- explicit currency and rounding semantics;
- channel-specific override handling.
B2C Surface
Может требовать:
- simplified visible price;
- stricter presentation compliance;
- hiding internal operational and margin internals;
- different fee disclosure policy.
Internal Operational Surface
Должен уметь видеть:
- monetary components;
- override source;
- settlement preparation;
- pricing anomalies;
- manual commercial exceptions.
Quote Как Коммерческая Фиксация
Quote должен считаться коммерческой фиксацией, а не просто красивым UI object.
Quote Должен Фиксировать
- actor context;
- tenant / workspace context;
- applied commercial policy;
- final visible price;
- validity window;
- assumptions and unresolved constraints;
- revalidation basis;
- publication readiness для клиента или downstream consumer.
Quote Не Должен Подменяться
- cached search result;
- indicative offer card;
- preliminary ranking projection;
- booking confirmation.
Когда Цена Считается Подтверждённой
Это один из самых важных коммерческих вопросов.
Платформа должна различать:
1. Indicative Price
Это цена на уровне discovery / offer preview.
Она:
- может быть показана;
- может быть полезной для выбора;
- не обязана быть окончательной;
- должна сопровождаться freshness and revalidation semantics.
2. Quoted Price
Это коммерчески зафиксированная цена в рамках Quote.
Она:
- имеет validity window;
- относится к конкретному actor/context;
- является честным коммерческим обещанием в пределах условий quote;
- всё ещё может требовать explicit booking-time validation по установленным правилам.
3. Booking-Time Confirmed Price
Это цена, прошедшая тот уровень подтверждения, который платформа считает достаточным для перехода к transactional commitment.
4. Settlement-Relevant Confirmed Figures
Это уже сумма и структура сумм, пригодные для:
- supplier settlement;
- partner settlement;
- agency commission accounting;
- reporting;
- refund math.
Quote Lifetime И Repricing
Commercial model должен жёстко закрепить, что quote не является вечным.
Quote Lifetime Должен Зависеть От
- supplier freshness model;
- volatility of price and availability;
- channel type;
- product type;
- commercial rule sensitivity;
- composition complexity в Tour Builder.
Repricing Должен Быть Отдельным Сценарием
Платформа должна различать:
- full re-quote;
- partial repricing;
- revalidation without price change;
- supplier drift with unchanged visible price;
- supplier drift requiring quote invalidation.
Currency Policy
Commercial model должен фиксировать currency discipline.
Нужно Различать
- supplier/source currency;
- normalized internal currency basis, если нужен;
- quoted display currency;
- booking payment currency;
- settlement currency;
- exchange-rate reference and timestamp.
Нельзя Допускать
- неясности, какая именно сумма была конвертирована;
- ситуации, где visible price и settlement figures основаны на разных незафиксированных exchange inputs;
- silent conversion rules, которые невозможно объяснить.
Rounding Policy
Округление должно быть частью commercial model, а не случайным UI formatting detail.
Нужно Зафиксировать
- где округление применяется;
- к каким компонентам оно применяется;
- допускается ли channel-specific rounding;
- как rounding влияет на visible price;
- как rounding differences отражаются в settlement figures.
Override Policy
Платформа должна допускать коммерческие overrides, но не превращаться в хаос ручных исключений.
Override Может Быть
- platform-wide;
- tenant-specific;
- agency-specific;
- partner-specific;
- channel-specific;
- case-specific manual override.
Для Любого Override Нужно Понимать
- кто его создал;
- на какой scope он действует;
- сколько живёт;
- влияет ли он на quote, booking или только presentation;
- допустим ли он для partner/B2C surfaces;
- должен ли он проходить governance or approval path.
Discount And Fee Policy
Discount и fee не должны растворяться в одном общем “price adjustment”.
Discount
Может быть:
- promotional;
- channel-specific;
- customer-specific;
- agency-specific;
- partner-funded;
- platform-funded.
Fee
Может быть:
- service fee;
- payment-related fee;
- fulfillment fee;
- partner channel fee;
- support/exception fee, если платформа такое допускает.
Платформа должна быть способна объяснить происхождение каждого такого компонента.
Settlement Model
Settlement — это не приложение к booking. Это часть commercial core.
Платформа Должна Допускать Как Минимум Следующие Settlement Relations
platform -> supplierplatform -> agencyplatform -> partneragency -> platform, если бизнес-модель этого требуетclient payment -> platform or merchant-of-record counterparty, в зависимости от business model
Settlement Model Должен Отвечать На Вопросы
- кто является economic counterparty;
- кто является merchant of record, если это релевантно;
- какая сумма payable supplier;
- какая сумма является platform revenue;
- какая сумма является agency commission or margin;
- какая сумма относится к partner revenue-share or fee;
- как это меняется при cancellation, amendment, refund, partial failure.
Refund, Cancellation And Amendment Economics
Commercial model должен охватывать не только happy path.
Нужно Зафиксировать
- какие денежные компоненты возвратные, а какие невозвратные;
- как supplier penalty влияет на downstream visible economics;
- как перерасчитывается agency / partner share;
- как обрабатываются rounding and conversion differences at refund time;
- какие суммы считаются preliminary, а какие final after reconciliation.
Commercial Governance
Коммерческий слой тоже требует governance.
Governance-Сценарии Могут Включать
- suspicious pricing anomaly review;
- override approval;
- blocked publication of commercially inconsistent offer;
- settlement discrepancy review;
- partner/agency pricing dispute handling;
- manual repricing decision;
- audit of channel-specific visibility rules.
Commercial Model И Storage / Persistence
Commercial model должен иметь устойчивое отражение в persistent model.
Должны Храниться
- commercial policy sets;
- channel/tenant/partner pricing rules;
- quote-time commercial snapshot;
- booking-time commercial snapshot;
- settlement-relevant events;
- override audit trail;
- currency and conversion references;
- fee / discount / commission components where they matter for audit.
Что Нельзя Оставлять Только В Runtime
- applied commercial rule set for a quote;
- origin of final visible price;
- settlement-relevant calculation basis;
- partner or agency override reason;
- refund calculation trace.
Commercial Model И API / Clients
Commercial model напрямую влияет на API Contracts — Surface Contracts и правила внешнего взаимодействия и Clients Layer — Клиентские поверхности и рабочие модели.
Это Означает
- contracts должны честно показывать
price view; - quote endpoints должны фиксировать commercial context;
- booking contracts не должны скрывать repricing or revalidation requirements;
- agency workspace может видеть richer commercial breakdown than B2C surface;
- partner API должен получать contract-safe, stable monetary semantics;
- client-facing published proposal не должен притворяться внутренним расчётным документом.
Commercial Model И Supplier Layer
Commercial model не должен подменять supplier economics, но обязан уметь работать поверх него.
Это Означает
- supplier raw price не равен platform visible price;
- supplier tax logic не обязана совпадать с final displayed breakdown;
- supplier drift может требовать re-quote;
- слабая supplier transparency может снижать commercial certainty;
- supplier limitation может менять quote lifetime and booking-time confirmation rules.
Следующий Практический Вывод Для Архитектуры
После фиксации этого документа платформа должна считать commercial model самостоятельным опорным контуром рядом с:
- domain model;
- tenancy and identity;
- offer/pricing/booking semantics;
- tour builder;
- data governance and matching.
Иначе коммерческая логика снова начнёт расползаться по pricing, booking, partner API и клиентским поверхностям.
Что Должно Быть Перепроверено После Этого Документа
-
Business Services — Сервисная декомпозиция платформы Там pricing and commercial contour теперь можно синхронизировать ещё жёстче.
-
Offer Pricing Booking Semantics — Семантика предложения, цены и бронирования Там можно плотнее связать quoted price, booking-time confirmation и settlement-relevant figures.
-
Tenancy And Identity — Субъекты платформы, изоляция и модель доступа Там нужно дополнительно проверить relation между commercial scope и actor scope.
-
API Contracts — Surface Contracts и правила внешнего взаимодействия Там затем нужно ещё точнее довести contract semantics для price view, quote and settlement-related fields.
-
Clients Layer — Клиентские поверхности и рабочие модели Там затем можно точнее развести commercial visibility between agency, partner and B2C surfaces.
-
Database Schema — Каноническая модель хранения платформы Там следующая итерация может потребовать явнее закрепить commercial policy and settlement entities.
-
Storage Layer — Модель хранения и жизненный цикл данных Там можно ещё плотнее закрепить retention and audit policy for commercial traces.
Уточнение под Фазы 4–6 (28.04.2026) — связь с payment, settlement, SLA credits, isolation
Документ опубликован 23.04.2026 (Фаза 3) как фундамент коммерческой модели. После Фаз 4–6 ряд понятий получил каноничные источники истины; эта секция фиксирует обязательные связи.
Связь с платёжным доменом
reference/payment-domain.md (Фаза 4) — каноничный источник для PaymentIntent / Refund / Chargeback / Settlement lifecycle. Этот документ описывает commercial semantics (quoted promise, repricing, settlement-relevant figures); payment-domain — operational lifecycle платежей. Связь:
Quote→PaymentIntentпри booking commit;Refund(commercial decision) → выполняется через payment-domain operations;Chargeback(downstream financial reality) → каноничный workflow в payment-domain.
Связь с booking state machine
reference/booking-state-machine.md (Фаза 5) — 14 каноничных состояний с каноничными именами. Этот документ упоминает booking lifecycle на высоком уровне; каноничные имена состояний — в booking-state-machine. Особо важно:
unknown_external_state(8-е состояние) — особый случай для commercial fixation: settlement freeze до manual review;- разделение
supplier_confirmedvsplatform_confirmed— commercial promise держится только приplatform_confirmed.
Связь с saga Tour Builder
reference/tour-builder-operational-model.md (Фаза 5) — multi-component tours имеют per-component commercial logic + tour-level pricing (per-tour markup, package discount). Saga координирует commercial outcome при partial failure (compensation operations).
Связь с SLA service credits как revenue correction
operations/sla-and-on-call-model.md (Фаза 6) — service credits при SLA breach (5%/10%/25%/50%) — это negative revenue adjustment в settlement периоде. Commercial model должна учитывать credits как отдельный класс financial events.
Связь с tier-моделью API as Product
reference/api-as-product.md (Фаза 4) — 4 tier (Free / Starter / Professional / Enterprise) определяют:
- какие commercial flows доступны (например, Tour Builder commercial — Professional+);
- какие commercial policies применяются (subscription + usage / revenue-share / hybrid);
- какой uplift на dynamic pricing.
Связь с уровнями тенантной изоляции
reference/multi-tenant-isolation-strength.md (Фаза 5) — 3 уровня изоляции напрямую связаны с commercial:
dedicated_infrastructure→dedicated_infrastructure_feerevenue stream (см. economic-model);- per-tenant commercial policies могут различаться по isolation tier.
Связь с EU TOMS VAT и Package Travel Directive
reference/compliance-and-legal.md (Фаза 4) — commercial figures для EU customer'ов:
- EU TOMS — VAT на маржу платформы (revenue minus supplier cost);
- Package Travel Directive — для Tour Builder products требует insolvency protection как commercial obligation;
- merchant-of-record модель влияет на commercial responsibility chain.
Связь с Economic Model
reference/economic-model.md (Фаза 4) — финальный синтезирующий слой экономики платформы. Этот документ описывает commercial semantics конкретного flow; economic-model — системную картину revenue streams и unit-economics.
Каноничный итог уточнения
Этот документ остаётся базовым каркасом коммерческой модели (quoted promise, repricing, settlement-relevant figures, channel-aware policies). Реализация и расширения:
- Payment lifecycle → payment-domain.md;
- Booking states → booking-state-machine.md;
- Saga commercial → tour-builder-operational-model.md;
- Service credits → sla-and-on-call-model.md;
- Tier-зависимые commercial flows → api-as-product.md;
- Isolation tier commercial → multi-tenant-isolation-strength.md;
- VAT, Package Travel → compliance-and-legal.md;
- Unit-economics → economic-model.md.
Уточнение выполнено через no-destruction.