Dati di esempio · SimEDW

Scala enterprise warehouse sample.

Sei EDW interamente simulati — HKBC (banca universale di Hong Kong), AYA (assicuratore composito di Hong Kong), Smire (landlord mixed-use di Hong Kong), Hilson (gruppo alberghiero globale), Cathea (logistica cargo e passeggeri di Hong Kong) e P&C (beni di consumo) — con schemi nativi vendor realistici, bronze pronto per medallion in ClickHouse e stream di eventi live. Costruiti per testare semantic layer, modellazione dimensionale e analytics self-service su VibeBI.

6
Industry pack
215
Sistemi sorgente vendor
362
Tabelle bronze totali
60s
Refresh dati live
32 sistemi vendor 60 tabelle bronze 5 fasi DB hkbc_v2

Profilo aziendale

Avviso sulle aziende fittizie: «HKBC» è un'azienda interamente fittizia, creata esclusivamente a fini dimostrativi. Non è affiliata a, approvata da, né destinata a rappresentare HSBC Holdings plc, The Hongkong and Shanghai Banking Corporation Limited o qualsiasi banca reale.

HKBC (Hong Kong Banking Corporation) è una banca universale di Hong Kong con sede a Central, con Wealth and Personal Banking, Commercial Banking e Global Banking and Markets. Il franchise raccoglie depositi HKD, origina mutui HIBOR e credito unsecured, emette carte, gestisce 24×7 i rail Faster Payment System e PearlPay (classe PayMe), finanzia il commercio della Greater Bay Area e registra FX USD/HKD e CNH nella banda di convertibilità 7,75–7,85.

Il book copre ~10 filiali su Hong Kong Island, Kowloon e New Territories, più un desk wholesale GBA a Qianhai e un desk markets a Londra — generando crediti FPS, autorizzazioni carta, trasferimenti CHATS/SWIFT, posting in partita doppia, alert AML e journal SAP correlati ogni giorno di simulazione, con un Surge Capodanno lunare / tax-loan Q1 che alza il volume P2P PearlPay, gli incassi FPS e l'origination di prestiti personali.

Entità sample: La tabella sotto mostra entità di business rappresentative e i loro sistemi sorgente; l'EDW completo include entità, sottotipi e tabelle specializzate aggiuntive (es. casi AML, accantonamenti ECL, ordini titoli, redline di facility) su tutte le 60 tabelle bronze. In V2, FpsPayment e le relative classi di domain guidano lo spine PayToPostToBalance.

EntitàSistema sorgenteTabelle di esempio
Filiale / deskhkbc_corebranch
Catalogo prodottihkbc_coreproduct
Cliente (CIF)hkbc_core · salesforcecustomer · account · contact
Conto deposito / prestitohkbc_coreaccount · posting · deposit_balance
FPS / CHATS / SWIFThkicl_fps · hkicl_chats · swiftproxy · payment · rtgs_payment · message
Cartefiserv_visionpluscard · authorization · clearing_transaction
Wallet PearlPayhkbc_paywallet · wallet_payment
Trade financehkbc_tradedocumentary_credit · guarantee
FX / marketsmurex · bloombergfx_trade · position · fx_rate
AML / rischio di creditonice_actimize · moodys_riskaml_alert · case · credit_facility · ecl_provision
Wealth dealinghkbc_wealthholding · securities_order
GL / COAsap_s4journal_entry · journal_line

Modello di domain OOP

HkbcEnterpriseSimulation sequenzia la giornata; gli oggetti di domain possiedono la logica di emissione.

PayToPostToBalance è la spina dorsale di processo primaria. FpsPayment.execute_lifecycle() (e le controparti PearlPay, carta, CHATS, SWIFT) percorre messaggio rail → posting in partita doppia core → alert AML opzionale → saldo depositi EOD → GL. HkbcPortfolio.publish_foundation() masterizza filiali, prodotti, clienti CIF e conti prima che girino i pagamenti. Gli oggetti di servizio emettono righe CMB trade, GBM FX, wealth, rischio e corporate.

Entità di domainNatural keyMetodi di lifecycle
Branchbranch_codeFiliale / desk wholesale mastered in hkbc_core
Productproduct_codeCatalogo CASA, mutuo, carta, wallet, trade, FX
Customercustomer_idCIF + segmento KYC; specchio CRM in Salesforce
Accountaccount_idpublish() → post_pair() ledger bilanciato
FpsPaymentpayment_idexecute_lifecycle() → rail → posting → AML
DocumentaryCreditlc_idEmissione LC / garanzia CMB
FxTradetrade_idTicket Murex → posizione USD/HKD
flowchart LR
  PORT[HkbcPortfolio.publish_foundation]
  PAY[FpsPayment.execute_lifecycle]
  PORT --> PAY
  PAY --> RAIL[FPS / PearlPay / card / CHATS / SWIFT]
  RAIL --> CORE[post_pair in hkbc_core]
  CORE --> AML[Actimize AML]
  CORE --> EOD[EOD deposit balance]
  EOD --> GL[SAP S/4 journal]
          

Catena del valore pagamenti e franchise

Dal master CIF e prodotto attraverso rail, posting core, rischio e chiusura finance.

Vista sample: Questo illustra la catena del valore primaria attraverso l'ecosistema HKBC; l'EDW generato completo include tutti i 32 sistemi sorgente con integrazioni cross-funzionali, wealth dealing e corridoi commerciali GBA non mostrati qui.

%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
  subgraph master["CIF & product master"]
    direction TB
    CORE[hkbc_core CIF / account]
    SF[salesforce]
    CORE ~~~ SF
  end
  subgraph rails["Payments rails"]
    direction TB
    FPS[hkicl_fps]
    PP[hkbc_pay PearlPay]
    CARD[fiserv_visionplus]
    CHATS[hkicl_chats · swift]
  end
  subgraph book["Core & risk"]
    direction TB
    POST[hkbc_core posting]
    AML[nice_actimize]
    ECL[moodys_risk]
    POST ~~~ AML
    AML ~~~ ECL
  end
  subgraph franchise["CMB · GBM · WPB"]
    direction TB
    TRD[hkbc_trade]
    FX[murex]
    WLT[hkbc_wealth]
    TRD ~~~ FX
    FX ~~~ WLT
  end
  subgraph corp["Corporate"]
    direction TB
    WD[workday]
    S4[sap_s4 GL]
    WD ~~~ S4
  end
  master --> rails --> book --> franchise --> corp
          

Org funzionale per dipartimento

HQ Harbourview Tower e funzioni in riporto diretto con sistemi sorgente rappresentativi.

Struttura org sample: Questo mostra le linee di reporting primarie; l'organizzazione HKBC completa include filiali distrettuali aggiuntive, desk GBA e funzioni shared services su tutte le 32 integrazioni vendor.

flowchart TB
  CEO[HKBC Hong Kong]
  CEO --> WPB[Wealth & Personal Banking]
  CEO --> CMB[Commercial Banking]
  CEO --> GBM[Global Banking & Markets]
  CEO --> RISK[Risk & AML]
  CEO --> FIN[Finance & ALM]
  CEO --> HR[Human resources]
  CEO --> OPS[Operations & branches]
  CEO --> LEG[IT / legal / security]
          

Stadi di maturità EDW

Catalogo stage raggruppa le tabelle dalla foundation fino al corporate.

Ripartizione sample mostrata: Questa è una fetta rappresentativa dell'inventario completo di 60 tabelle distribuito sui layer di maturità; la distribuzione effettiva riflette il lineage dati completo dalla foundation fino alle tabelle gold corporate.

flowchart LR
  F["foundation
~13 tables"] P["payments
~11 tables"] M["markets & risk
~12 tables"] C["commercial
~6 tables"] CO["corporate
~18 tables"] F --> P --> M --> C F -.-> CO P -.-> CO

Entità di business core

Relazioni logiche e chiavi di ancoraggio. Cliente (customer_id) e conto (account_id) sono lo spine; i pagamenti si uniscono via source_txn_id.

Diagramma sample: Questo diagramma di relazione tra entità mostra il modello logico core; l'EDW generato completo contiene 60 tabelle bronze in 32 sistemi vendor con tabelle di dettaglio aggiuntive e rami di lineage. Le istanze di entità portano entity_refs su ogni evento emesso per i test di joinability.

erDiagram
  CUSTOMER ||--o{ ACCOUNT : holds
  PRODUCT ||--o{ ACCOUNT : defines
  BRANCH ||--o{ ACCOUNT : books
  ACCOUNT ||--o{ PAYMENT : pays
  ACCOUNT ||--o{ POSTING : ledgers
  ACCOUNT ||--o{ DEPOSIT_BALANCE : snapshots
  PAYMENT ||--o{ AML_ALERT : screens
  COMMERCIAL_CLIENT ||--o{ TRADE_CREDIT : finances
  ACCOUNT ||--o{ FX_TRADE : hedges
  ACCOUNT ||--o{ WEALTH_ORDER : deals
          

Paesaggio dei sistemi sorgente

32 prefissi vendor, 60 tabelle bronze.

Sistemi sample mostrati: Il diagramma sotto illustra sistemi vendor rappresentativi; il dataset generato completo include tutti i 32 sistemi con lineage tabelle e punti di integrazione su history backfill e stream live. I manifest dei sistemi sorgente condivisi in kb/source_systems/ sono riutilizzati tra i settori — HKBC aggiunge hkbc_core, hkbc_pay, hkbc_trade, e hkbc_wealth come sistemi interni specifici del settore, più i rail di mercato di Hong Kong.

Ogni tabella segue la {source_system_}__{entity} convenzione di naming (es. hkbc_core__account, hkicl_fps__payment), preservando la forma nativa delle colonne e le foreign key dello schema di export reale di ciascun prodotto. VibeBI inferisce la conformità dei master data quando promuove i record a silver e gold.

flowchart TB
  subgraph foundation["Foundation"]
    direction TB
    f1["hkbc_core branch · product · CIF · account"]
    f2["salesforce · workday · sap_s4 dimensions"]
  end
  subgraph payments["Payments"]
    direction TB
    p1["hkicl_fps · hkbc_pay · fiserv_visionplus"]
    p2["hkicl_chats · swift · core posting"]
  end
  subgraph markets["Markets & risk"]
    direction TB
    m1["murex · bloomberg · hkbc_trade · hkbc_wealth"]
    m2["nice_actimize · moodys_risk"]
  end
  subgraph commercial["Commercial"]
    direction TB
    c1["salesforce pipeline · hubspot · marketo"]
  end
  subgraph corporate["Corporate"]
    direction TB
    co1["sap_s4 journals · anaplan · adp · ukg"]
    co2["genesys · zendesk · servicenow · okta"]
    co3["splunk · ironclad · onetrust · greenhouse"]
  end
  foundation --> payments --> markets --> commercial
  foundation --> corporate
  payments --> corporate
          

Flusso dati end-to-end

Sim OOP V2 → bronze in ClickHouse; semantica VibeBI → silver → gold sulla stessa istanza.

Percorso OOP: kb/industries/hkbc/ definisce la spina dorsale delle operations e il modello di entità; HkbcEnterpriseSimulation sequenzia i cicli di vita di domain; SourceSystem gli adapter esportano righe native del vendor in hkbc_v2.

flowchart LR
  subgraph kb["kb/industries/hkbc"]
    SPINE[entity + process models]
  end
  subgraph sim["sim/industries/hkbc"]
    ORCH[HkbcEnterpriseSimulation]
    DOM["FpsPayment.execute_lifecycle()
Account · Customer · FxTrade …"] end subgraph simedw["SimEDW V2"] ADP[SourceSystem adapters] CHB[("ClickHouse hkbc_v2
60 bronze tables")] end subgraph vibebi["VibeBI"] SEM[("semantic")] SIL[("silver views")] GLD[("gold views")] end DASH["Dashboards & agents"] SPINE --> DOM ORCH --> DOM --> ADP --> CHB CHB --> SEM --> SIL --> GLD --> DASH

Ciclo bronze live

./live-v2-hkbc — tick da 60s tramite HkbcEnterpriseSimulation.generate().

Frequenza live: Ogni tick esegue la state machine PayToPostToBalance — gli oggetti di domain emettono righe FPS, PearlPay, carta, CHATS, SWIFT, posting core, AML e GL correlate; i tick live di oggi emettono solo eventi fino a Hong Kong as_of così il nastro pagamenti cresce durante il giorno. La scala varia per tick (base predefinita 5). Faccia backfill di qualsiasi arco di history di cui ha bisogno (--days N sullo script live o sulla CLI).

flowchart LR
  START([60s tick]) --> SIM[HkbcEnterpriseSimulation.generate]
  SIM --> FOUND[Portfolio.publish_foundation]
  FOUND --> PAY[Payment lifecycles]
  FOUND --> MKT[Trade · FX · wealth · risk]
  PAY --> EVT[SourceSystem events]
  MKT --> EVT
  EVT --> BRZ[Append bronze rows]
  BRZ --> WAIT[Sleep] --> START
          

Grafo eventi pay-to-post

State machine PayToPostToBalance — ogni transizione è un metodo di domain che emette righe vendor.

Spina dorsale di processo: Definito in kb/industries/hkbc/process_model.yaml. I modi di arrivo tardivo (lag ack SWIFT, clearing carta dopo auth, lag caso AML, ritardo batch GL) e i modi di eccezione (rifiuto FPS, declino carta, hold AML, fondi insufficienti, discrepanza LC) si ramificano dagli stessi cicli di vita dell'entità invece che da insert casuali indipendenti.

flowchart LR
  OPEN[account_opened] --> INIT[payment_initiated]
  INIT --> POST[core_posted]
  POST --> AML[aml_screened]
  AML --> CLR[cleared]
  CLR --> BAL[balance_snapshot]
  BAL --> GL[posted_to_gl]
  INIT -.->|fps_reject| REJ[fps_rejected]
  INIT -.->|card_decline| DEC[card_declined]
  POST -.->|aml_hold| HOLD[aml_hold]
          

Categorie delle tabelle bronze

Stesso envelope di lineage su ogni tabella; la categoria guida il comportamento live.

Categorie sample: Tutte le 60 tabelle bronze seguono questo schema a tre categorie (snapshot, transaction, event) con metadati e tracciamento di stato coerenti; il diagramma illustra il pattern usato sull'intero warehouse.

flowchart LR
  subgraph snap["snapshot"]
    direction TB
    S1["CIF · product · branch · account"]
    S2[Daily foundation refresh]
  end
  subgraph txn["transaction"]
    direction TB
    T1["Payments · postings · LC · FX · GL"]
    T2[Append each live tick]
  end
  subgraph evt["event"]
    direction TB
    E1["AML · card auth · access · NPS"]
    E2[Append each live tick]
  end
  BRONZE[("hkbc_v2 bronze row")]
  snap --> BRONZE
  txn --> BRONZE
  evt --> BRONZE
          
39 sistemi vendor 60 tabelle bronze 5 fasi DB aya_v2

Profilo aziendale

Avviso sulle aziende fittizie: «AYA» è un'azienda interamente fittizia, creata esclusivamente a fini dimostrativi. Non è affiliata a, approvata da, né destinata a rappresentare AXA SA, AXA Hong Kong and Macau o qualsiasi compagnia assicurativa reale.

AYA è un assicuratore composito di Hong Kong — Life & Savings, Health (incluso VHIS e employee benefits) e General Insurance — distribuito tramite agenti vincolati, bancassurance, broker, l'app Aria by AYA e partner e-wallet embedded. HQ a Quarry Bay, con advisory centre a Central, AYA Medical Centre a Tsim Sha Tsui, una filiale a Macao e un ufficio vendite GBA a Qianhai.

Il business copre product factory, underwriting classe Magnum, PAS diviso (vita su Ingenium, danni su Guidewire), incasso premi FPS, commissione Varicent, FNOL auto/viaggio 24×7, sinistri salute FINEOS, cessione riassicurativa, valutazione Prophet IFRS 17 e journal SAP S/4 — con un rialzo sinistri danni in stagione tifoni (giugno–ottobre) e un picco viaggi CNY / motor northbound sui canali digitali e agenzia.

Entità sample: La tabella sotto mostra entità di business rappresentative e i loro sistemi sorgente; l'EDW completo include entità, sottotipi e tabelle specializzate aggiuntive (es. Prophet BEL/CSM, cessioni trattato, visite medical centre, redline CLM) su tutte le 60 tabelle bronze. In V2, LifePolicy e GiPolicy le classi di domain guidano gli spine QuoteToBindToPremium e FnolToPay.

EntitàSistema sorgenteTabelle di esempio
Linea di business / prodottoaya_productline_of_business · product
Agente con licenza IAaya_agencyagent
Contraentesalesforceaccount · contact · address
Quote digitale / FNOLaya_digitalsession · quote · claim_submission
Polizza vita / salutedxc_ingenium · swissre_magnumpolicy · coverage · premium · decision
Polizza danni / billingguidewire_pc · guidewire_bcpolicy · coverage · invoice
Sinistro danniguidewire_ccclaim · claim_transaction
Sinistro salute / clinicafineos · aya_healthhealth_claim · clinic_visit
Premio / cash sinistrofpspayment
Commissionevaricentcommissione
Riassicurazionesap_fs_ricession
Investimenti / valutazionebloomberg_aim · prophetholding · trade · valuation
GL / IFRS 17sap_s4journal_entry · journal_line

Modello di domain OOP

AyaEnterpriseSimulation sequenzia la giornata; gli oggetti di domain possiedono la logica di emissione.

QuoteToBindToPremium è lo spine new business; FnolToPay è lo spine sinistri. LifePolicy.execute_lifecycle() percorre quote → UW Magnum → emissione Ingenium → incasso FPS → commissione → GL. GiPolicy.execute_lifecycle() percorre quote → bind PolicyCenter → fattura BillingCenter → FNOL same-day opzionale su ClaimCenter. AyaPortfolio.publish_foundation() masterizza prodotti, agenti, uffici e contraenti prima che girino le polizze.

Entità di domainNatural keyMetodi di lifecycle
InsuranceProductproduct_codeTariffa Vita / Salute / Danni in aya_product
Agentagent_idRegistro licenze IA + producer Salesforce
Policyholdersf_account_idCRM mass / HNW / PMI / datore
LifePolicypolicy_numberpublish_quote() → UW → bind → incasso → commissione → GL
GiPolicypolicy_numberpublish_quote() → bind → fatturare → open_claim()
HealthClaimclaim_numberVisita clinica → FINEOS → payout FPS
flowchart LR
  PORT[AyaPortfolio.publish_foundation]
  LIFE[LifePolicy.execute_lifecycle]
  GI[GiPolicy.execute_lifecycle]
  PORT --> LIFE
  PORT --> GI
  LIFE --> Q[Aria quote]
  Q --> UW[Magnum UW]
  UW --> PAS[Ingenium / PolicyCenter]
  PAS --> FPS[FPS collect]
  GI --> FNOL[ClaimCenter FNOL]
  FNOL --> RI[reinsurance cession]
  FPS --> GL[SAP S/4 IFRS 17]
          

Catena del valore quote-to-claim

Dalla product factory attraverso distribuzione, bind, incasso, sinistri e chiusura finance.

Vista sample: Questo illustra la catena del valore primaria attraverso l'ecosistema AYA; l'EDW generato completo include tutti i 39 sistemi sorgente con integrazioni cross-funzionali, visite cashless del medical centre e contabilità di trattato non mostrate qui.

%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
  subgraph factory["Product & distribution"]
    direction TB
    PRD[aya_product]
    AG[aya_agency]
    DIG[aya_digital Aria]
    PRD ~~~ AG
    AG ~~~ DIG
  end
  subgraph bind["Underwrite & bind"]
    direction TB
    MAG[swissre_magnum]
    LIFE[dxc_ingenium]
    PC[guidewire_pc]
    MAG ~~~ LIFE
    LIFE ~~~ PC
  end
  subgraph cash["Collect & commission"]
    direction TB
    BC[guidewire_bc]
    FPS[fps]
    VAR[varicent]
    BC ~~~ FPS
    FPS ~~~ VAR
  end
  subgraph claims["Claims & health"]
    direction TB
    CC[guidewire_cc]
    FN[fineos]
    CLIN[aya_health]
    CC ~~~ FN
    FN ~~~ CLIN
  end
  subgraph corp["Investments & close"]
    direction TB
    AIM[bloomberg_aim]
    PR[prophet]
    S4[sap_s4]
    AIM ~~~ PR
    PR ~~~ S4
  end
  factory --> bind --> cash --> claims --> corp
          

Org funzionale per dipartimento

HQ AYA Tower Quarry Bay e funzioni in riporto diretto con sistemi sorgente rappresentativi.

Struttura org sample: Questo mostra le linee di reporting primarie; l'organizzazione AYA completa include distretti agenzia aggiuntivi, team Macao e GBA e funzioni shared services su tutte le 39 integrazioni vendor.

flowchart TB
  CEO[AYA Hong Kong]
  CEO --> LIFE[Life & Savings]
  CEO --> HLTH[Health & Employee Benefits]
  CEO --> GI[General Insurance]
  CEO --> DIST[Agency / banca / digital]
  CEO --> CLM[Claims]
  CEO --> FIN[Finance & actuarial]
  CEO --> HR[Human resources]
  CEO --> LEG[IT / legal / security]
          

Stadi di maturità EDW

Catalogo stage raggruppa le tabelle dalla foundation fino al corporate.

Ripartizione sample mostrata: Questa è una fetta rappresentativa dell'inventario completo di 60 tabelle distribuito sui layer di maturità; la distribuzione effettiva riflette il lineage dati completo dalla foundation fino alle tabelle gold corporate.

flowchart LR
  F["foundation
~12 tables"] D["distribution
~10 tables"] P["policy & premium
~9 tables"] C["claims
~6 tables"] CO["finance & corporate
~23 tables"] F --> D --> P --> C F -.-> CO P -.-> CO

Entità di business core

Relazioni logiche e chiavi di ancoraggio. Prodotto (product_code) e polizza (policy_number) sono lo spine; i sinistri si uniscono via FNOL e numeri di claim.

Diagramma sample: Questo diagramma di relazione tra entità mostra il modello logico core; l'EDW generato completo contiene 60 tabelle bronze in 39 sistemi vendor con tabelle di dettaglio aggiuntive e rami di lineage. Le istanze di entità portano entity_refs su ogni evento emesso per i test di joinability.

erDiagram
  PRODUCT ||--o{ LIFE_POLICY : tariffs
  PRODUCT ||--o{ GI_POLICY : tariffs
  AGENT ||--o{ LIFE_POLICY : sells
  AGENT ||--o{ GI_POLICY : sells
  POLICYHOLDER ||--o{ LIFE_POLICY : owns
  POLICYHOLDER ||--o{ GI_POLICY : owns
  LIFE_POLICY ||--o{ HEALTH_CLAIM : incurs
  GI_POLICY ||--o{ GI_CLAIM : notifies
  GI_POLICY ||--o{ INVOICE : bills
  LIFE_POLICY ||--o{ PREMIUM : collects
  GI_CLAIM ||--o{ CESSION : cedes
          

Paesaggio dei sistemi sorgente

39 prefissi vendor, 60 tabelle bronze.

Sistemi sample mostrati: Il diagramma sotto illustra sistemi vendor rappresentativi; il dataset generato completo include tutti i 39 sistemi con lineage tabelle e punti di integrazione su history backfill e stream live. I manifest dei sistemi sorgente condivisi in kb/source_systems/ sono riutilizzati tra i settori — AYA aggiunge aya_product, aya_agency, aya_digital, e aya_health come sistemi interni specifici del settore, più un PAS diviso (Guidewire + Ingenium).

Ogni tabella segue la {source_system_}__{entity} convenzione di naming (es. aya_product__product, guidewire_cc__claim), preservando la forma nativa delle colonne e le foreign key dello schema di export reale di ciascun prodotto. VibeBI inferisce la conformità dei master data quando promuove i record a silver e gold.

flowchart TB
  subgraph foundation["Foundation"]
    direction TB
    f1["aya_product · aya_agency · oracle_scm"]
    f2["salesforce · workday · sap_s4 dimensions"]
  end
  subgraph distribution["Distribution"]
    direction TB
    d1["aya_digital · salesforce_cpq"]
    d2["hubspot · marketo · google_analytics"]
  end
  subgraph policy["Policy & premium"]
    direction TB
    p1["swissre_magnum · dxc_ingenium"]
    p2["guidewire_pc · guidewire_bc · fps · varicent"]
  end
  subgraph claims["Claims"]
    direction TB
    c1["guidewire_cc · fineos · aya_health · sap_fs_ri"]
  end
  subgraph corporate["Finance & corporate"]
    direction TB
    co1["prophet · bloomberg_aim · sap_s4 journals"]
    co2["anaplan · adp · ukg · concur · coupa"]
    co3["servicenow · okta · splunk · ironclad · onetrust"]
  end
  foundation --> distribution --> policy --> claims
  foundation --> corporate
  policy --> corporate
          

Flusso dati end-to-end

Sim OOP V2 → bronze in ClickHouse; semantica VibeBI → silver → gold sulla stessa istanza.

Percorso OOP: kb/industries/aya/ definisce la spina dorsale delle operations e il modello di entità; AyaEnterpriseSimulation sequenzia i cicli di vita di domain; SourceSystem gli adapter esportano righe native del vendor in aya_v2.

flowchart LR
  subgraph kb["kb/industries/aya"]
    SPINE[entity + process models]
  end
  subgraph sim["sim/industries/aya"]
    ORCH[AyaEnterpriseSimulation]
    DOM["LifePolicy · GiPolicy
execute_lifecycle()"] end subgraph simedw["SimEDW V2"] ADP[SourceSystem adapters] CHB[("ClickHouse aya_v2
60 bronze tables")] end subgraph vibebi["VibeBI"] SEM[("semantic")] SIL[("silver views")] GLD[("gold views")] end DASH["Dashboards & agents"] SPINE --> DOM ORCH --> DOM --> ADP --> CHB CHB --> SEM --> SIL --> GLD --> DASH

Ciclo bronze live

./live-v2-aya — tick da 60s tramite AyaEnterpriseSimulation.generate().

Frequenza live: Ogni tick esegue QuoteToBindToPremium e FnolToPay — gli oggetti di domain emettono quote, decisioni UW, bind PAS, incassi FPS, commissioni, FNOL e righe GL correlati; i tick live di oggi emettono solo eventi fino a Hong Kong as_of così quote, FNOL, FPS e journal crescono durante il giorno. La scala varia per tick (base predefinita 5). Faccia backfill di qualsiasi arco di history di cui ha bisogno (--days N sullo script live o sulla CLI).

flowchart LR
  START([60s tick]) --> SIM[AyaEnterpriseSimulation.generate]
  SIM --> FOUND[Portfolio.publish_foundation]
  FOUND --> LIFE[LifePolicy lifecycles]
  FOUND --> GI[GiPolicy lifecycles]
  LIFE --> CORP[Health + investments + finance]
  GI --> CORP
  CORP --> EVT[SourceSystem events]
  EVT --> BRZ[Append bronze rows]
  BRZ --> WAIT[Sleep] --> START
          

Grafi eventi quote-to-bind e FNOL

State machine QuoteToBindToPremium e FnolToPay — ogni transizione è un metodo di domain che emette righe vendor.

Spina dorsale di processo: Definito in kb/industries/aya/process_model.yaml. I modi di arrivo tardivo (lag di emissione PAS, clearing FPS, batch commissioni, FNOL notturno, bordereau riassicurativo) e i modi di eccezione (UW refer/rifiuto, lapse premio, sinistro negato, liquidazione parziale) si ramificano dagli stessi cicli di vita dell'entità invece che da insert casuali indipendenti.

flowchart LR
  Q[quoted] --> UW[underwritten]
  UW --> BIND[bound]
  BIND --> BILL[billed]
  BILL --> COL[collected]
  COL --> COMM[commissioned]
  COMM --> GL[posted_to_gl]
  UW -.->|uw_decline| DEC[declined]
  BILL -.->|lapse| LAPSE[premium_lapse]
          
flowchart LR
  FNOL[fnol_submitted] --> OPEN[claim_opened]
  OPEN --> RSV[reserved]
  RSV --> PAY[paid]
  PAY --> CLOSE[closed]
  OPEN -.->|denied| DENY[claim_denied]
  PAY -.->|partial| PART[partial_settlement]
          

Categorie delle tabelle bronze

Stesso envelope di lineage su ogni tabella; la categoria guida il comportamento live.

Categorie sample: Tutte le 60 tabelle bronze seguono questo schema a tre categorie (snapshot, transaction, event) con metadati e tracciamento di stato coerenti; il diagramma illustra il pattern usato sull'intero warehouse.

flowchart LR
  subgraph snap["snapshot"]
    direction TB
    S1["Product · agent · policyholder masters"]
    S2[Daily foundation refresh]
  end
  subgraph txn["transaction"]
    direction TB
    T1["Policies · premiums · claims · GL"]
    T2[Append each live tick]
  end
  subgraph evt["event"]
    direction TB
    E1["Digital sessions · FNOL · clinic visits"]
    E2[Append each live tick]
  end
  BRONZE[("aya_v2 bronze row")]
          snap --> BRONZE
          txn --> BRONZE
          evt --> BRONZE
          
39 sistemi vendor 60 tabelle bronze 5 fasi DB smire_v2

Profilo aziendale

Avviso sulle aziende fittizie: «Smire» è un'azienda interamente fittizia, creata esclusivamente a fini dimostrativi. Non è affiliata a Swire Properties Limited, Swire Pacific Limited né a nessuna società immobiliare reale, non è da esse approvata e non è destinata a rappresentarle.

Smire Properties è un landlord mixed-use di Hong Kong con sede a Smire Tower, Quarry Bay — campus uffici Grade A (Eastgate Place, Harbour Place), mall (Harbourplaza, Peakgate Outlets, Eastgate Li), residenziale e hotel Harbour House, più retail in stile Taikoo Li in Mainland a Pechino, Shanghai, Guangzhou e Chengdu.

Il book copre offerte di leasing in lease Yardi e rent roll giornalieri, base rent più turnover rent retail dal POS mall, incasso HK FPS / CNY, journal NOI SAP S/4, BMS quasi real-time, eventi badge Nedap, parcheggio e footfall mall 11:00–22:00 HKT, più GAV/NAV Argus, comps stile CoStar, draw CAPEX di development e occupancy/ADR/RevPAR hotel — con un picco di trading mall CNY che alza footfall di Harbourplaza ed Eastgate Li, turnover rent e incassi FPS.

Entità sample: La tabella sotto mostra entità di business rappresentative e i loro sistemi sorgente; l’EDW completo include entità, sottotipi e tabelle specializzate aggiuntive (p. es. meter ESG, draw CAPEX, occupancy hotel, redline CLM) su tutte le 60 tabelle bronze. In V2, Lease e Tenant le classi di domain guidano le spine LeaseToCollect e MallTradingDay.

EntitàSistema sorgenteTabelle di esempio
Property / building / unitsmire_portfolioproperty · building · unit
Tenantyardi_voyager · salesforcetenant · account · contact
Offerta di leasingsmire_leasingoffer
Lease / rent roll / invoiceyardi_voyagerlease · rent_roll · invoice
Incasso affittifpspayment
POS mall / footfallsmire_malltenant_sale · footfall
BMS / accesso / parcheggiohoneywell_bms · nedap_aeos · smire_parktelemetry · badge_event · session
Valuation / compsargus_enterprise · costar_analyticsvaluation · comp
Svilupposmire_devproject · capex_draw
Occupancy alberghierasmire_hoteloccupancy
Vendita residenzialesmire_residentialsale
Loyaltysmire_loyaltymember · earn
NOI / GLsap_s4journal_entry · journal_line

Modello di domain OOP

SmireEnterpriseSimulation sequenzia la giornata; gli oggetti di domain possiedono la logica di emissione.

LeaseToCollect è la spine leasing; MallTradingDay è la spine ops retail. Lease.execute_lifecycle() percorre offerta → lease e rent roll Yardi → invoice (base più turnover rent) → incasso FPS → journal NOI. Tenant.publish() masterizza Yardi e Salesforce prima che i lease partano. SmirePortfolio.publish_foundation() masterizza prima properties, buildings, unit locabili e site.

Entità di domainNatural keyMetodi di lifecycle
Propertyproperty_codeMaster campus / mall / hotel in smire_portfolio
Unitunit_idNFA locabile; occupancy ledger
Tenanttenant_codepublish() → Yardi + CRM Salesforce
Leaselease_idexecute_lifecycle() → offer → lease → invoice → FPS → GL
CorporateOfficelocation_idSiti HQ e property management in oracle_scm
flowchart LR
  PORT[SmirePortfolio.publish_foundation]
  TNT[Tenant.publish]
  LS[Lease.execute_lifecycle]
  PORT --> TNT
  TNT --> LS
  LS --> OFF[leasing offer]
  OFF --> YAR[Yardi lease / invoice]
  YAR --> FPS[FPS collect]
  FPS --> GL[SAP S/4 NOI]
  PORT --> MALL[Mall POS + footfall]
  MALL --> YAR
          

Catena del valore lease-to-collect

Dal master di portafoglio al close finance, via leasing, trading mall e ops asset.

Vista sample: Questo illustra la catena del valore primaria attraverso l’ecosistema Smire; l’EDW generato completo include tutti i 39 sistemi sorgente con integrazioni cross-funzionali, RevPAR hotel e CAPEX di development non mostrati qui.

%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
  subgraph portfolio["Portfolio"]
    direction TB
    PORT[smire_portfolio]
    SCM[oracle_scm]
    PORT ~~~ SCM
  end
  subgraph lease["Lease & collect"]
    direction TB
    OFF[smire_leasing]
    YAR[yardi_voyager]
    FPS[fps]
    OFF ~~~ YAR
    YAR ~~~ FPS
  end
  subgraph ops["Operate asset"]
    direction TB
    MALL[smire_mall]
    BMS[honeywell_bms]
    AEOS[nedap_aeos]
    MALL ~~~ BMS
    BMS ~~~ AEOS
  end
  subgraph value["Value & hotels"]
    direction TB
    ARG[argus_enterprise]
    HOT[smire_hotel]
    DEV[smire_dev]
    ARG ~~~ HOT
    HOT ~~~ DEV
  end
  subgraph close["NOI close"]
    direction TB
    S4[sap_s4]
    CST[costar_analytics]
    S4 ~~~ CST
  end
  portfolio --> lease --> ops --> value --> close
          

Org funzionale per dipartimento

HQ Smire Tower Quarry Bay e funzioni in riporto diretto con sistemi sorgente rappresentativi.

Struttura org sample: Questo mostra le linee di reporting primarie; l’organizzazione Smire completa include ulteriori uffici di property management, team mall in Mainland e funzioni di shared services su tutte le 39 integrazioni vendor.

flowchart TB
  CEO[Smire Properties]
  CEO --> OFF[Office]
  CEO --> RET[Retail]
  CEO --> RES[Residential]
  CEO --> HOT[Hotels]
  CEO --> DEV[Development]
  CEO --> FIN[Finance]
  CEO --> HR[Human resources]
  CEO --> LEG[IT / legal / security]
          

Stadi di maturità EDW

Catalogo stage raggruppa le tabelle dalla foundation fino al corporate.

Ripartizione sample mostrata: Questa è una fetta rappresentativa dell'inventario completo di 60 tabelle distribuito sui layer di maturità; la distribuzione effettiva riflette il lineage dati completo dalla foundation fino alle tabelle gold corporate.

flowchart LR
  F["portfolio
~10 tables"] L["leasing
~8 tables"] O["operations
~10 tables"] V["valuation
~8 tables"] CO["corporate
~24 tables"] F --> L --> O --> V F -.-> CO L -.-> CO

Entità di business core

Relazioni logiche e chiavi ancora. Property (property_code) e unit (unit_id) sono la spine; i lease fanno join via lease_id e FPS via invoice.

Diagramma sample: Questo diagramma di relazione tra entità mostra il modello logico core; l'EDW generato completo contiene 60 tabelle bronze in 39 sistemi vendor con tabelle di dettaglio aggiuntive e rami di lineage. Le istanze di entità portano entity_refs su ogni evento emesso per i test di joinability.

erDiagram
  PROPERTY ||--o{ BUILDING : contains
  BUILDING ||--o{ UNIT : lets
  UNIT ||--o{ LEASE : occupies
  TENANT ||--o{ LEASE : signs
  LEASE ||--o{ INVOICE : bills
  INVOICE ||--o{ FPS_PAYMENT : collects
  TENANT ||--o{ MALL_SALE : trades
  PROPERTY ||--o{ VALUATION : values
          

Paesaggio dei sistemi sorgente

39 prefissi vendor, 60 tabelle bronze.

Sistemi sample mostrati: Il diagramma sotto illustra sistemi vendor rappresentativi; il dataset generato completo include tutti i 39 sistemi con lineage tabelle e punti di integrazione su history backfill e stream live. I manifest dei sistemi sorgente condivisi in kb/source_systems/ sono riutilizzati tra i settori — Smire aggiunge smire_portfolio, smire_leasing, smire_mall, e smire_hotel come sistemi interni specifici del settore, più Yardi Voyager e Argus.

Ogni tabella segue la {source_system_}__{entity} convenzione di naming (es. smire_portfolio__unit, yardi_voyager__lease), preservando la forma nativa delle colonne e le foreign key dello schema di export reale di ciascun prodotto. VibeBI inferisce la conformità dei master data quando promuove i record a silver e gold.

flowchart TB
  subgraph foundation["Portfolio"]
    direction TB
    f1["smire_portfolio property · building · unit"]
    f2["oracle_scm · salesforce · workday · sap_s4 dimensions"]
  end
  subgraph leasing["Leasing"]
    direction TB
    l1["smire_leasing · yardi_voyager · fps"]
  end
  subgraph operations["Operations"]
    direction TB
    o1["smire_mall · honeywell_bms · nedap_aeos · smire_park"]
    o2["smire_hotel · smire_esg · smire_loyalty"]
  end
  subgraph valuation["Valuation"]
    direction TB
    v1["argus_enterprise · costar_analytics · smire_dev · smire_residential"]
  end
  subgraph corporate["Corporate"]
    direction TB
    co1["sap_s4 journals · anaplan · adp · ukg · concur"]
    co2["hubspot · marketo · zendesk · servicenow · okta"]
    co3["splunk · ironclad · onetrust · greenhouse"]
  end
  foundation --> leasing --> operations --> valuation
  foundation --> corporate
  leasing --> corporate
          

Flusso dati end-to-end

Sim OOP V2 → bronze in ClickHouse; semantica VibeBI → silver → gold sulla stessa istanza.

Percorso OOP: kb/industries/smire/ definisce la spina dorsale delle operations e il modello di entità; SmireEnterpriseSimulation sequenzia i cicli di vita di domain; SourceSystem gli adapter esportano righe native del vendor in smire_v2.

flowchart LR
  subgraph kb["kb/industries/smire"]
    SPINE[entity + process models]
  end
  subgraph sim["sim/industries/smire"]
    ORCH[SmireEnterpriseSimulation]
    DOM["Lease.execute_lifecycle()
Tenant · Property · Unit"] end subgraph simedw["SimEDW V2"] ADP[SourceSystem adapters] CHB[("ClickHouse smire_v2
60 bronze tables")] end subgraph vibebi["VibeBI"] SEM[("semantic")] SIL[("silver views")] GLD[("gold views")] end DASH["Dashboards & agents"] SPINE --> DOM ORCH --> DOM --> ADP --> CHB CHB --> SEM --> SIL --> GLD --> DASH

Ciclo bronze live

./live-v2-smire — tick da 60s tramite SmireEnterpriseSimulation.generate().

Frequenza live: Ogni tick esegue LeaseToCollect e MallTradingDay — gli oggetti di domain emettono offerte, lease, invoice, incassi FPS, POS mall, footfall, eventi badge e righe GL correlate; i tick live di oggi emettono solo eventi fino a Hong Kong as_of così rent roll, trading mall, BMS e journal crescono durante il giorno. La scala varia per tick (base predefinita 5). Esegui backfill di qualsiasi span di history che ti serve (--days N sullo script live o sulla CLI).

flowchart LR
  START([60s tick]) --> SIM[SmireEnterpriseSimulation.generate]
  SIM --> FOUND[Portfolio.publish_foundation]
  FOUND --> TNT[Tenant.publish]
  TNT --> LS[Lease lifecycles]
  FOUND --> OPS[Mall · BMS · hotel]
  LS --> CORP[NOI + valuation + finance]
  OPS --> CORP
  CORP --> EVT[SourceSystem events]
  EVT --> BRZ[Append bronze rows]
  BRZ --> WAIT[Sleep] --> START
          

Grafi eventi lease-to-collect e asset

State machine LeaseToCollect e OperateAsset — ogni transizione è un metodo di domain che emette righe vendor.

Spina dorsale di processo: Definito in kb/industries/smire/process_model.yaml. Le modalità late-arrival (lag clearing FPS, ritardo posting GL, BMS notturno, lag work-order) e le modalità di eccezione (sfitto, mora, accesso negato, allarme impianto) si ramificano dagli stessi cicli di vita delle entità invece di insert casuali indipendenti.

flowchart LR
  OFF[offered] --> LS[leased]
  LS --> OCC[occupied]
  OCC --> INV[invoiced]
  INV --> COL[collected]
  COL --> GL[posted_to_gl]
  LS -.->|vacancy| VAC[vacancy]
  INV -.->|arrears| ARR[arrears]
          
flowchart LR
  MTR[metered] --> ACC[accessed]
  ACC --> WO[work_ordered]
  WO --> VAL[valued]
  ACC -.->|denied| DEN[access_denied]
  MTR -.->|alarm| ALM[plant_alarm]
          

Categorie delle tabelle bronze

Stesso envelope di lineage su ogni tabella; la categoria guida il comportamento live.

Categorie sample: Tutte le 60 tabelle bronze seguono questo schema a tre categorie (snapshot, transaction, event) con metadati e tracciamento di stato coerenti; il diagramma illustra il pattern usato sull'intero warehouse.

flowchart LR
  subgraph snap["snapshot"]
    direction TB
    S1["Property · unit · tenant masters"]
    S2[Daily foundation refresh]
  end
  subgraph txn["transaction"]
    direction TB
    T1["Leases · invoices · FPS · GL"]
    T2[Append each live tick]
  end
  subgraph evt["event"]
    direction TB
    E1["Footfall · badge · BMS · park"]
    E2[Append each live tick]
  end
  BRONZE[("smire_v2 bronze row")]
  snap --> BRONZE
  txn --> BRONZE
  evt --> BRONZE
          
31 sistemi vendor 62 tabelle bronze 5 fasi DB hilson_v2

Profilo aziendale

Avviso sulle aziende fittizie: "Hilson" è un'azienda interamente fittizia, creata esclusivamente a scopo dimostrativo. Non è affiliata, sponsorizzata né destinata a rappresentare Hilton Inc., Hyatt Hotels Corporation o qualsiasi azienda dell'ospitalità reale.

Hilson Hospitality Group è un operatore alberghiero globale con circa 680 strutture su 18 brand — dalle insegne luxury (grado Waldorf, grado Conrad) al full-service (Hilson, grado DoubleTree) fino ai tier select-service ed extended-stay. Ogni struttura gira un Opera PMS on-premise e un Amadeus CRS centrale, servendo un mix di ospiti transient leisure, corporate negotiated e group/convention.

Il business copre loyalty (Hilson Honors con milioni di membri), group & convention sales (pipeline salesforce, room block CPQ), outlet food & beverage (MICROS Simphony POS), reporting owner/franchise (statement Oracle Fusion) e funzioni corporate — generando circa 1.900 reservation PMS e 1.750 testate folio in un giorno feriale tipico, con un picco di viaggi estivi (giugno–agosto) che alza occupancy, ADR, spesa F&B e attività loyalty su tutte le strutture.

Entità sample: La tabella sotto mostra entità di business rappresentative e i loro sistemi sorgente; l'EDW completo include entità aggiuntive, sotto-tipi e tabelle specializzate (es. eventi canale OTA, restrizioni di rate-plan, accordi legali franchise, redline deal-desk) su tutte le 62 tabelle bronze. In V2, StayReservation e le classi di domain correlate emettono righe PMS, CRS, folio e loyalty tramite adapter dei sistemi sorgente man mano che il ciclo di vita del soggiorno avanza.

EntitàSistema sorgenteTabelle di esempio
Master propertyoracle_operaproperty · room_type · occupancy_snapshot
Brand / CRShilson_brand · amadeus_hospbrand · property_profile
Membro loyaltyhilson_loyaltymember · point_transaction · redemption
Reservation (PMS/CRS)oracle_opera · amadeus_hospreservation · reservation_change_event
Folio / fatturazioneoracle_operafolio_header · folio_charge
Outlet F&Bmicros_simphonycheck_header · check_line
Pagamentiadyenpayment · refund
Vendite groupsalesforce · salesforce_cpqaccount · opportunity · quote
Housekeepingoracle_operaroom_status_event · housekeeping_task
Owner / GLoracle_fusion · sap_s4owner_statement · journal_line
Esperienza ospitemedallia · zendeskstay_survey · guest_case

Modello di domain OOP

HilsonEnterpriseSimulation sequenzia la giornata; gli oggetti di domain possiedono la logica di emissione.

ReservationToLoyaltyAndOwnerReporting è la spina dorsale di processo primaria. StayReservation.execute_lifecycle() percorre booking → sync PMS → addebiti folio → pagamento → punti loyalty → snapshot occupancy → statement owner → GL. HilsonPortfolio.publish_foundation() masterizza brand, property e membri Honors prima che partano le reservation.

Entità di domainNatural keyMetodi di lifecycle
Brandbrand_codeScala brand masterizzata in hilson_brand
Propertyhotel_codeInventario property + camere in Opera/CRS
GuestMemberhonors_member_idProfilo loyalty su prenotazione e soggiorno
StayReservationcrs_confirmation_nobook() → sync_pms() → open_folio() → settle() → award_points()
PropertyOccupancyhotel_code, dataSnapshot giornaliero ADR / RevPAR
PropertyFinanceowner_statement_idStatement owner + registrazione GL bilanciata
flowchart LR
  PORT[HilsonPortfolio.publish_foundation]
  STAY[StayReservation.execute_lifecycle]
  PORT --> STAY
  STAY --> BOOK[CRS booking]
  BOOK --> PMS[PMS sync]
  PMS --> FOL[folio charges]
  FOL --> PAY[Adyen settlement]
  PAY --> LOY[Honors points]
  LOY --> OWN[owner statement + GL]
          

Catena del valore ospite e property

Dal master di brand e property fino a distribution, soggiorno, settlement e reporting per i proprietari.

Vista sample: Questo illustra la catena del valore primaria attraverso l'ecosistema Hilson; l'EDW generato completo include tutti i 31 sistemi sorgente con integrazioni cross-funzionali, flussi di ricavo secondari e cicli di vita loyalty non mostrati qui.

%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
  subgraph master["Brand & property master"]
    direction TB
    BR[hilson_brand]
    PROP[oracle_opera property]
    RMS[ideas_rms rate plans]
    BR ~~~ PROP
    PROP ~~~ RMS
  end
  subgraph dist["Distribution & booking"]
    direction TB
    AMA[amadeus_hosp CRS]
    SM[siteminder OTA]
    AMA ~~~ SM
  end
  subgraph stay["Stay & revenue"]
    direction TB
    RES[oracle_opera reservation]
    FOL[folio header / charges]
    SIM[micros_simphony F&B]
    PAY[adyen payments]
  end
  subgraph loy["Loyalty & VoC"]
    direction TB
    HON[hilson_loyalty member]
    MED[medallia · qualtrics]
    HON ~~~ MED
  end
  subgraph corp["Owner & corporate"]
    direction TB
    OWN[oracle_fusion owner stmt]
    SAP[sap_s4 GL]
    GRP[salesforce group sales]
    OWN ~~~ SAP
    SAP ~~~ GRP
  end
  master --> dist --> stay --> loy
  stay --> corp
          

Org funzionale per dipartimento

HQ enterprise e funzioni a riporto diretto con sistemi sorgente rappresentativi.

Struttura org sample: Questo mostra le linee di riporto primarie; l'organizzazione Hilson completa include management regionale aggiuntivo, team specifici di brand e funzioni di shared-services su tutte le 31 integrazioni vendor.

flowchart TB
  CEO[Hilson Hospitality Group]
  CEO --> BRAND[Brand & marketing]
  CEO --> DIST[Distribution & revenue mgmt]
  CEO --> PROP[Property operations]
  CEO --> SALES[Group sales]
  CEO --> LOY[Loyalty program]
  CEO --> FIN[Finance & owner reporting]
  CEO --> HR[Human resources]
  CEO --> GX[Guest experience]
  CEO --> LEG[IT / security / legal]
          

Stadi di maturità EDW

Catalogo stage raggruppa le tabelle dalla foundation fino al corporate.

Ripartizione sample mostrata: Questa è una fetta rappresentativa dell'inventario completo di 62 tabelle distribuito sui layer di maturità; la distribuzione effettiva riflette il lineage dati completo dalla foundation fino alle tabelle gold corporate.

flowchart LR
  F["foundation
~15 tables"] C["commercial
~7 tables"] GR["guest_revenue
~17 tables"] PO["property_ops
~7 tables"] CO["corporate
~16 tables"] F --> C --> GR --> PO F -.-> CO GR -.-> CO

Entità di business core

Relazioni logiche e chiavi ancora. Property (hotel_code) è la spina dorsale; identità ospite tramite Honors e tabelle di soggiorno.

Diagramma sample: Questo diagramma di relazione tra entità mostra il modello logico core; l'EDW generato completo contiene 62 tabelle bronze in 31 sistemi vendor con migliaia di tabelle di dettaglio aggiuntive e rami di lineage.

erDiagram
  PROPERTY ||--o{ RESERVATION : hosts
  PROPERTY ||--o{ RATE_PLAN : offers
  BRAND ||--o{ PROPERTY : flags
  MEMBER ||--o{ RESERVATION : books
  MEMBER ||--o{ POINT_TXN : earns
  MEMBER ||--o{ REDEMPTION : redeems
  RESERVATION ||--|| FOLIO : bills
  FOLIO ||--o{ FOLIO_CHARGE : lines
  RESERVATION ||--o{ FNB_CHECK : posts
  CORP_ACCOUNT ||--o{ OPPORTUNITY : pursues
  SUPPLIER ||--o{ PO : supplies
  PROPERTY ||--o{ WORK_ORDER : maintains
          

Paesaggio dei sistemi sorgente

31 prefissi vendor, 62 tabelle bronze.

Sistemi sample mostrati: Il diagramma sotto illustra sistemi vendor rappresentativi; il dataset generato completo include tutti i 31 sistemi con il loro lineage di tabelle completo e i punti di integrazione su backfill storico e stream live.

Ogni tabella segue la {source_system_}__{entity} convenzione di naming (es. oracle_opera__reservation, hilson_loyalty__member), preservando la forma nativa delle colonne e le foreign key dello schema di export reale di ciascun prodotto. VibeBI inferisce la conformità dei master data quando promuove i record a silver e gold.

flowchart TB
  subgraph foundation["Foundation"]
    direction TB
    f1["hilson_brand · oracle_opera property · room_type"]
    f2["amadeus_hosp · ideas_rms · hilson_loyalty member"]
    f3["salesforce account · workday · sap_s4 · coupa supplier"]
  end
  subgraph commercial["Commercial"]
    direction TB
    c1["salesforce pipeline · CPQ · hubspot · marketo"]
  end
  subgraph guest_rev["Guest revenue"]
    direction TB
    g1["oracle_opera reservation · folio · events"]
    g2["amadeus_hosp · siteminder · micros_simphony"]
    g3["adyen · loyalty points · oracle_fusion owner"]
  end
  subgraph prop_ops["Property ops"]
    direction TB
    p1["housekeeping · occupancy · ibm_maximo · coupa PO"]
  end
  subgraph corporate["Corporate"]
    direction TB
    co1["sap_s4 journals · adp · ukg · anaplan"]
    co2["medallia · qualtrics · zendesk · concur"]
    co3["servicenow · okta · splunk · ironclad · onetrust"]
  end
  foundation --> commercial --> guest_rev --> prop_ops
  foundation --> corporate
  guest_rev --> corporate
          

Flusso dati end-to-end

Sim OOP V2 → bronze in ClickHouse; semantica VibeBI → silver → gold sulla stessa istanza.

Percorso OOP: kb/industries/hilson/ definisce la spina dorsale delle operations e il modello di entità; HilsonEnterpriseSimulation sequenzia i cicli di vita di domain; SourceSystem gli adapter esportano righe native del vendor in hilson_v2.

flowchart LR
  subgraph kb["kb/industries/hilson"]
    SPINE[entity + process models]
  end
  subgraph sim["sim/industries/hilson"]
    ORCH[HilsonEnterpriseSimulation]
    DOM["StayReservation.execute_lifecycle()
Property · GuestMember …"] end subgraph simedw["SimEDW V2"] ADP[SourceSystem adapters] CHB[("ClickHouse hilson_v2
62 bronze tables")] end subgraph vibebi["VibeBI"] SEM[("semantic")] SIL[("silver views")] GLD[("gold views")] end DASH["Dashboards & agents"] SPINE --> DOM ORCH --> DOM --> ADP --> CHB CHB --> SEM --> SIL --> GLD --> DASH

Ciclo bronze live

./live-v2-hilson — tick da 60s tramite HilsonEnterpriseSimulation.generate().

Frequenza live: Ogni tick esegue la state machine reservation-to-loyalty — gli oggetti di domain emettono righe correlate di CRS, PMS, folio, F&B, pagamento, loyalty e GL; la scala varia per tick (base predefinita 5). Faccia backfill di qualsiasi arco di storia di cui ha bisogno (--days N); Hilson include il rilevamento dei gap sulla tabella ancora delle reservation.

flowchart LR
  START([60s tick]) --> SIM[HilsonEnterpriseSimulation.generate]
  SIM --> FOUND[Portfolio.publish_foundation]
  FOUND --> STAY[StayReservation lifecycles]
  STAY --> EVT[SourceSystem events]
  EVT --> BRZ[Append bronze rows]
  BRZ --> WAIT[Sleep] --> START
          

Grafo eventi del soggiorno ospite

State machine ReservationToLoyaltyAndOwnerReporting — ogni transizione emette righe vendor.

Spina dorsale di processo: Definito in kb/industries/hilson/process_model.yaml. Le modalità di eccezione (no-show, chargeback, upgrade di camera) si ramificano dallo stesso ciclo di vita dell'entità, invece di insert casuali indipendenti.

flowchart LR
  BOOK[booked] --> SYNC[synced_to_pms]
  SYNC --> CHKIN[checked_in]
  CHKIN --> HOUSE[in_house]
  HOUSE --> CHKOUT[checked_out]
  CHKOUT --> SET[settled]
  SET --> PTS[points_posted]
  PTS --> OCC[occupancy_snapshotted]
  OCC --> OWN[owner_reported]
  OWN --> GL[posted_to_gl]
  SYNC -.->|no_show| NS[no_show]
  SET -.->|chargeback| CB[chargeback]
          

Categorie delle tabelle bronze

Stesso envelope di lineage su ogni tabella; la categoria controlla refresh live vs append in micro-batch.

Categorie sample: Tutte le 62 tabelle bronze seguono questo schema a tre categorie (snapshot, transaction, event) con metadati e tracciamento di stato coerenti; il diagramma illustra il pattern usato sull'intero warehouse.

flowchart LR
  subgraph snap["snapshot"]
    direction TB
    S1["Property · brand · member masters"]
    S2[Daily full refresh]
  end
  subgraph txn["transaction"]
    direction TB
    T1["Reservations · folios · payments"]
    T2[Append each live tick]
  end
  subgraph evt["event"]
    direction TB
    E1["HK · OTA · surveys · access"]
    E2[Append each live tick]
  end
  BRONZE[("hilson_v2 bronze row")]
  snap --> BRONZE
  txn --> BRONZE
  evt --> BRONZE
          
40 sistemi vendor 60 tabelle bronze 5 fasi DB cathea_v2

Profilo aziendale

Avviso sulle aziende fittizie: «Cathea» è un'azienda interamente fittizia, creata esclusivamente a fini dimostrativi. Non è affiliata a Cathay Pacific Airways Limited, Cathay Pacific Group né a nessuna compagnia aerea reale, non è da esse approvata e non è destinata a rappresentarle.

Cathea Pacific è un vettore hub di Hong Kong con sede a Cathea City, Chek Lap Kok — passeggeri premium (HP), air cargo e Cathea Cargo Terminal, LCC Peak Express (PX) e freighter Air Harbour Express (AH), più il lifestyle Pacific Miles. La rete è temporizzata su HKG: rotazioni long-haul A350/777, onde notturne 747-8F e hop regionali A321neo.

La giornata corre ordine NDC → PNR classe Altéa e e-ticket prefisso 168 → capture carta Adyen → check-in DCS e scan bagagli → OFP Navblue, duty crew AIMS e MVT SITA (incluso cargo notturno 01:00–05:00 HKT) → accrual Pacific Miles e rating Accelya → journal SAP S/4. Il cargo percorre booking Cargospot → AWB → acceptance terminal → scan ULD → movement → trucking OTM → incasso FPS — con un rialzo viaggi CNY / IRROPS tifone che fa spikare il load factor Peak Express, gli scan bagagli e le waitlist cargo.

Entità sample: La tabella sotto mostra entità di business rappresentative e i loro sistemi sorgente; l’EDW completo include entità, sottotipi e tabelle specializzate aggiuntive (p. es. fuel uplift, work order TRAX, scan ULD, accrual loyalty) su tutte le 60 tabelle bronze. In V2, Pnr e AirWaybill le classi di domain guidano le spine OfferToFlyToRevenue e BookToDeliverCargo.

EntitàSistema sorgenteTabelle di esempio
Aeromobile / rotta / volocathea_networkaircraft · route · flight
Stazioneoracle_scmstation
Ordine NDCcathea_ndcorder
PNR / e-ticketamadeus_alteapnr · ticket
Check-in / bagagliamadeus_dcscheckin · bag_scan
Carta passeggeroadyenpayment
Prenotazione cargo / AWBchamp_cargospotbooking · awb
Terminal cargocathea_chtacceptance · uld_scan
Movement di volosita_typebmovement
OFP / crewnavblue · aims_crewofp · duty
Pacific Milescathea_loyaltymember · accrual
Incasso cargofpspayment
Revenue / GLaccelya_ra · sap_s4document · journal_entry · journal_line

Modello di domain OOP

CatheaEnterpriseSimulation sequenzia la giornata; gli oggetti di domain possiedono la logica di emissione.

OfferToFlyToRevenue è la spine passeggeri; BookToDeliverCargo è la spine cargo. Pnr.execute_lifecycle() percorre ordine NDC → PNR e e-ticket Altéa → capture Adyen → check-in DCS → coupon volato → Pacific Miles → Accelya → GL. AirWaybill.execute_lifecycle() percorre booking Cargospot → AWB → acceptance CHT → ULD → movement SITA → trucking OTM → incasso FPS. CatheaPortfolio.publish_foundation() masterizza aeromobili, rotte, stazioni e voli temporizzati su HKG prima che PNR e AWB partano.

Entità di domainNatural keyMetodi di lifecycle
AircraftregistrationMaster flotta in cathea_network
Flightflight_idRotazione temporizzata su HKG; SITA MVT + Navblue OFP
Pnrpnr_locatorexecute_lifecycle() → NDC → Altéa → DCS → Adyen → Miles → GL
AirWaybillawb_numberexecute_lifecycle() → Cargospot → CHT → ULD → FPS
LoyaltyMembermember_idPacific Miles maturano sui coupon volati
flowchart LR
  PORT[CatheaPortfolio.publish_foundation]
  PNR[Pnr.execute_lifecycle]
  AWB[AirWaybill.execute_lifecycle]
  PORT --> PNR
  PORT --> AWB
  PNR --> NDC[NDC order]
  NDC --> PSS[Altéa PNR / ticket]
  PSS --> DCS[DCS check-in]
  DCS --> GL[SAP S/4 journal]
  AWB --> CS[Cargospot AWB]
  CS --> CHT[CHT + ULD]
  CHT --> FPS[FPS collect]
          

Catena del valore offer-to-fly e cargo

Dal master di network al close finance, via passeggeri, cargo e ops.

Vista sample: Questo illustra la catena del valore primaria attraverso l’ecosistema Cathea; l’EDW generato completo include tutti i 40 sistemi sorgente con integrazioni cross-funzionali, onde cargo notturne e MRO TRAX non mostrati qui.

%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
  subgraph network["Network"]
    direction TB
    NET[cathea_network]
    SCM[oracle_scm station]
    NET ~~~ SCM
  end
  subgraph fly["Offer to fly"]
    direction TB
    NDC[cathea_ndc]
    PSS[amadeus_altea]
    DCS[amadeus_dcs]
    ADY[adyen]
    NDC ~~~ PSS
    PSS ~~~ DCS
  end
  subgraph cargo["Cargo"]
    direction TB
    CS[champ_cargospot]
    CHT[cathea_cht]
    OTM[oracle_otm]
    FPS[fps]
    CS ~~~ CHT
    CHT ~~~ OTM
  end
  subgraph ops["Ops"]
    direction TB
    NAV[navblue]
    AIMS[aims_crew]
    SITA[sita_typeb]
    NAV ~~~ AIMS
    AIMS ~~~ SITA
  end
  subgraph close["Revenue & close"]
    direction TB
    PM[cathea_loyalty]
    RA[accelya_ra]
    S4[sap_s4]
    PM ~~~ RA
    RA ~~~ S4
  end
  network --> fly --> cargo --> ops --> close
          

Org funzionale per dipartimento

HQ Cathea City Chek Lap Kok e funzioni in riporto diretto con sistemi sorgente rappresentativi.

Struttura org sample: Questo mostra le linee di reporting primarie; l’organizzazione Cathea completa include outstation aggiuntive, desk cargo GBA e funzioni di shared services su tutte le 40 integrazioni vendor.

flowchart TB
  CEO[Cathea Pacific]
  CEO --> PREM[Premium Travel]
  CEO --> CARGO[Cargo & Logistics]
  CEO --> LCC[Peak Express LCC]
  CEO --> LIFE[Pacific Miles]
  CEO --> OPS[Flight ops]
  CEO --> FIN[Finance]
  CEO --> HR[Human resources]
  CEO --> LEG[IT / legal / security]
          

Stadi di maturità EDW

Catalogo stage raggruppa le tabelle dalla foundation fino al corporate.

Ripartizione sample mostrata: Questa è una fetta rappresentativa dell'inventario completo di 60 tabelle distribuito sui layer di maturità; la distribuzione effettiva riflette il lineage dati completo dalla foundation fino alle tabelle gold corporate.

flowchart LR
  F["network
~8 tables"] P["passenger
~10 tables"] C["cargo
~8 tables"] O["operations
~6 tables"] CO["corporate
~28 tables"] F --> P --> C --> O F -.-> CO C -.-> CO

Entità di business core

Relazioni logiche e chiavi di ancoraggio. Volo (flight_id) e PNR (pnr_locator) sono la spine passeggeri; AWB (awb_number) collega il cargo via booking e FPS.

Diagramma sample: Questo diagramma di relazione tra entità mostra il modello logico core; l'EDW generato completo contiene 60 tabelle bronze in 40 sistemi vendor con tabelle di dettaglio aggiuntive e rami di lineage. Le istanze di entità portano entity_refs su ogni evento emesso per i test di joinability.

erDiagram
  AIRCRAFT ||--o{ FLIGHT : operates
  ROUTE ||--o{ FLIGHT : schedules
  FLIGHT ||--o{ PNR : carries
  PNR ||--o{ TICKET : issues
  TICKET ||--o{ CHECKIN : boards
  FLIGHT ||--o{ AWB : uplifts
  AWB ||--o{ FPS_PAYMENT : collects
  PNR ||--o{ LOYALTY_ACCRUAL : earns
          

Paesaggio dei sistemi sorgente

40 prefissi vendor, 60 tabelle bronze.

Sistemi sample mostrati: Il diagramma sotto illustra sistemi vendor rappresentativi; il dataset generato completo include tutti i 40 sistemi con lineage tabelle e punti di integrazione su history backfill e stream live. I manifest dei sistemi sorgente condivisi in kb/source_systems/ sono riutilizzati tra i settori — Cathea aggiunge cathea_network, cathea_ndc, cathea_cht, e cathea_loyalty come sistemi interni specifici del settore, più il PSS Altéa e Cargospot.

Ogni tabella segue la {source_system_}__{entity} convenzione di naming (es. cathea_network__flight, amadeus_altea__pnr), preservando la forma nativa delle colonne e le foreign key dello schema di export reale di ciascun prodotto. VibeBI inferisce la conformità dei master data quando promuove i record a silver e gold.

flowchart TB
  subgraph foundation["Network"]
    direction TB
    f1["cathea_network aircraft · route · flight"]
    f2["oracle_scm · salesforce · workday · sap_s4 dimensions"]
  end
  subgraph passenger["Passenger"]
    direction TB
    p1["cathea_ndc · amadeus_altea · amadeus_dcs"]
    p2["adyen · cathea_loyalty"]
  end
  subgraph cargo["Cargo"]
    direction TB
    c1["champ_cargospot · cathea_cht · oracle_otm · fps"]
  end
  subgraph operations["Operations"]
    direction TB
    o1["navblue · aims_crew · sita_typeb · trax_mro · cathea_fuel"]
  end
  subgraph corporate["Corporate"]
    direction TB
    co1["accelya_ra · sap_s4 journals · anaplan · adp · ukg"]
    co2["hubspot · marketo · zendesk · servicenow · okta"]
    co3["splunk · ironclad · onetrust · greenhouse"]
  end
  foundation --> passenger --> cargo --> operations
  foundation --> corporate
  cargo --> corporate
          

Flusso dati end-to-end

Sim OOP V2 → bronze in ClickHouse; semantica VibeBI → silver → gold sulla stessa istanza.

Percorso OOP: kb/industries/cathea/ definisce la spina dorsale delle operations e il modello di entità; CatheaEnterpriseSimulation sequenzia i cicli di vita di domain; SourceSystem gli adapter esportano righe native del vendor in cathea_v2.

flowchart LR
  subgraph kb["kb/industries/cathea"]
    SPINE[entity + process models]
  end
  subgraph sim["sim/industries/cathea"]
    ORCH[CatheaEnterpriseSimulation]
    DOM["Pnr · AirWaybill
execute_lifecycle()"] end subgraph simedw["SimEDW V2"] ADP[SourceSystem adapters] CHB[("ClickHouse cathea_v2
60 bronze tables")] end subgraph vibebi["VibeBI"] SEM[("semantic")] SIL[("silver views")] GLD[("gold views")] end DASH["Dashboards & agents"] SPINE --> DOM ORCH --> DOM --> ADP --> CHB CHB --> SEM --> SIL --> GLD --> DASH

Ciclo bronze live

./live-v2-cathea — tick da 60s tramite CatheaEnterpriseSimulation.generate().

Frequenza live: Ogni tick esegue OfferToFlyToRevenue e BookToDeliverCargo — gli oggetti di domain emettono ordini NDC, PNR, biglietti, scan DCS, AWB cargo, movement SITA, incassi FPS e righe GL correlate; i tick live di oggi emettono solo eventi fino a Hong Kong as_of così check-in, scan bagagli, cargo notturno e journal crescono durante il giorno. La scala varia per tick (base predefinita 5). Esegui backfill di qualsiasi span di history che ti serve (--days N sullo script live o sulla CLI).

flowchart LR
  START([60s tick]) --> SIM[CatheaEnterpriseSimulation.generate]
  SIM --> FOUND[Portfolio.publish_foundation]
  FOUND --> PNR[Pnr lifecycles]
  FOUND --> AWB[AirWaybill lifecycles]
  PNR --> CORP[Loyalty + RA + finance]
  AWB --> CORP
  CORP --> EVT[SourceSystem events]
  EVT --> BRZ[Append bronze rows]
  BRZ --> WAIT[Sleep] --> START
          

Grafi eventi offer-to-fly e cargo

State machine OfferToFlyToRevenue e BookToDeliverCargo — ogni transizione è un metodo di domain che emette righe vendor.

Spina dorsale di processo: Definito in kb/industries/cathea/process_model.yaml. Le modalità late-arrival (lag scan DCS, lag MVT, lag batch RA, ritardo posting GL) e le modalità di eccezione (no-show, ritardo IRROPS, rifiuto carta, short shipment, waitlist capacità) si ramificano dagli stessi cicli di vita delle entità invece di insert casuali indipendenti.

flowchart LR
  OFF[offered] --> PNR[pnr_created]
  PNR --> TKT[ticketed]
  TKT --> CKIN[checked_in]
  CKIN --> BRD[boarded]
  BRD --> FLN[flown]
  FLN --> ACC[accrued]
  ACC --> RA[rated]
  RA --> GL[posted_to_gl]
  TKT -.->|card_refuse| REF[card_refused]
  CKIN -.->|no_show| NS[no_show]
          
flowchart LR
  BK[booked] --> AWB[awb_issued]
  AWB --> ACC[accepted]
  ACC --> ULD[uld_built]
  ULD --> DEP[departed]
  DEP --> TRK[trucked]
  TRK --> DLV[delivered]
  DLV --> COL[collected]
  COL --> GL[posted_to_gl]
  BK -.->|waitlist| WL[capacity_waitlist]
  ACC -.->|short| SH[short_shipment]
          

Categorie delle tabelle bronze

Stesso envelope di lineage su ogni tabella; la categoria guida il comportamento live.

Categorie sample: Tutte le 60 tabelle bronze seguono questo schema a tre categorie (snapshot, transaction, event) con metadati e tracciamento di stato coerenti; il diagramma illustra il pattern usato sull'intero warehouse.

flowchart LR
  subgraph snap["snapshot"]
    direction TB
    S1["Aircraft · route · station · loyalty masters"]
    S2[Daily foundation refresh]
  end
  subgraph txn["transaction"]
    direction TB
    T1["PNRs · tickets · AWBs · FPS · GL"]
    T2[Append each live tick]
  end
  subgraph evt["event"]
    direction TB
    E1["DCS scans · SITA MVT · bag events"]
    E2[Append each live tick]
  end
  BRONZE[("cathea_v2 bronze row")]
  snap --> BRONZE
  txn --> BRONZE
  evt --> BRONZE
          
34 sistemi vendor 60 tabelle bronze 5 fasi DB pnc_v2

Profilo aziendale

Avviso sulle aziende fittizie: "P&C" è un'azienda interamente fittizia, creata esclusivamente a scopo dimostrativo. Non è affiliata, sponsorizzata né destinata a rappresentare The Procter & Gamble Company o qualsiasi produttore CPG reale.

P&C è un produttore-marketer globale di beni di largo consumo — un modello B2B2C che vende prodotti di uso quotidiano attraverso mass retail, club, grocery e canali e-commerce in circa 180 Paesi. Cinque Sector Business Unit (SBU) coprono Fabric & Home Care, Baby/Feminine/Family Care, Beauty, Health Care e Grooming, con circa 12 brand di punta (TidalWave, ComfortWrap, BrightSmile, EdgePro e altri) e otto impianti di produzione più tre centri di distribuzione regionali.

Il business copre demand planning, procurement di materie prime, produzione MES, rilascio qualità, distribuzione finished-goods, ordini clienti retail, trade marketing e finance — generando work order MES correlati, PO Ariba, testate OMS, spedizioni OTM e righe giornale SAP in ciascun giorno di simulazione, con un Picco Spring Clean (marzo–aprile) che alza la domanda di fabric/home care, il throughput di impianto e il sell-in retail in Nord America ed EMEA.

Entità sample: La tabella sotto mostra entità di business rappresentative e i loro sistemi sorgente; l'EDW completo include entità aggiuntive, sotto-tipi e tabelle specializzate (es. letture di sensori IoT, work order di manutenzione, trade promotion, redline CLM) su tutte le 60 tabelle bronze. In V2, ProductionBatch e CustomerOrder le classi di domain guidano la spina dorsale MakeToShipToSell.

EntitàSistema sorgenteTabelle di esempio
Scala SBU / brandpc_brandbrand · category
SKU finished goodakeneo_pimsku · brand · category
Master impianto / DCoracle_scmwarehouse · office
Previsione della domandablueyonderforecast_daily
PO di materie primesap_aribapurchase_order · purchase_order_line
Lotto di produzionesiemens_meswork_order
Rilascio qualitàmastercontrolquality_incident
Inventario finished goodsmanhattan_wmsstock_balance · movement · pick_pack_event
Ordine cliente retailmanhattan_omsorder_header · order_line
Spedizione outboundoracle_otmshipment · shipment_tracking_event
Account retailsalesforceaccount · opportunity · sales_activity
GL / COAsap_s4journal_entry · journal_line

Modello di domain OOP

PcEnterpriseSimulation sequenzia la giornata; gli oggetti di domain possiedono la logica di emissione.

MakeToShipToSell è la spina dorsale di processo primaria. ProductionBatch.execute_lifecycle() percorre forecast → procure → produce → rilascio QC → finished goods; CustomerOrder.execute_lifecycle() percorre capture OMS → fulfill WMS → ship OTM. PcPortfolio.publish_foundation() masterizza SBU, brand, impianti, SKU e account retail prima che partano lotti e ordini. Gli oggetti di servizio (PlantOperations, CommercialProgram, FinanceAndCorporate) emettono le righe di supporto corporate e marketing.

Entità di domainNatural keyMetodi di lifecycle
Brandbrand_codeScala SBU/categoria in pc_brand + PIM
ProductSkusku, material_numberPublish PIM → collegamento materiale MES
Plantfacility_codeRegistrazione impianto di produzione o DC
ProductionBatchwork_order_idforecast_demand() → procure_materials() → run_production() → release_quality() → receive_finished_goods()
RetailCustomersf_account_idTrade account in Salesforce
CustomerOrderorder_numberplace_order() → fulfill() → ship()
Supplierariba_supplier_idMaster procurement + collegamento fatture
flowchart LR
  PORT[PcPortfolio.publish_foundation]
  BATCH[ProductionBatch.execute_lifecycle]
  ORDER[CustomerOrder.execute_lifecycle]
  PORT --> BATCH
  PORT --> ORDER
  BATCH --> FCST[BlueYonder forecast]
  FCST --> PO[Ariba PO]
  PO --> MES[SIEMENS MES work order]
  MES --> QC[MasterControl release]
  QC --> WMS[WMS finished goods]
  ORDER --> OMS[OMS order]
  OMS --> SHIP[OTM shipment]
  SHIP --> GL[SAP S/4 journal]
          

Catena del valore make-to-ship

Dal portafoglio brand fino a plan, make, move, sell e chiusura corporate.

Vista sample: Questo illustra la catena del valore primaria nell'ecosistema P&C; l'EDW generato completo include tutti i 34 sistemi sorgente con integrazioni cross-funzionali, telemetria IoT di impianto e flussi di trade marketing non mostrati qui.

%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart LR
  subgraph portfolio["Portfolio & R&D"]
    direction TB
    PCB[pc_brand SBU ladder]
    PIM[akeneo_pim SKU]
    PCB ~~~ PIM
  end
  subgraph plan["Plan & procure"]
    direction TB
    BY[blueyonder forecast]
    ARB[sap_ariba PO]
    BY ~~~ ARB
  end
  subgraph make["Make & quality"]
    direction TB
    MES[siemens_mes work order]
    MC[mastercontrol QC]
    MES ~~~ MC
  end
  subgraph move["Store & ship"]
    direction TB
    WMS[manhattan_wms inventory]
    OTM[oracle_otm TMS]
    WMS ~~~ OTM
  end
  subgraph sell["Sell to retail"]
    direction TB
    SF[salesforce trade]
    OMS[manhattan_oms orders]
    SF ~~~ OMS
  end
  subgraph corp["Corporate"]
    direction TB
    WD[workday]
    S4[sap_s4 GL]
    WD ~~~ S4
  end
  portfolio --> plan --> make --> move --> sell --> corp
          

Org funzionale per dipartimento

HQ globale a Cincinnati e funzioni a riporto diretto con sistemi sorgente rappresentativi.

Struttura org sample: Questo mostra le linee di riporto primarie; l'organizzazione P&C completa include team SBU regionali, plant manager e funzioni di shared-services su tutte le 34 integrazioni vendor.

flowchart TB
  CEO[P&C Global]
  CEO --> SBU[SBU portfolio & R&D]
  CEO --> MFG[Supply chain & manufacturing]
  CEO --> COMM[Commercial & retail sales]
  CEO --> MKT[Marketing & brand]
  CEO --> FIN[Finance & controller]
  CEO --> HR[Human resources]
  CEO --> QUAL[Quality & regulatory]
  CEO --> LEG[IT / legal / security]
          

Stadi di maturità EDW

Catalogo stage raggruppa le tabelle dalla foundation fino al corporate.

Ripartizione sample mostrata: Questa è una fetta rappresentativa dell'inventario completo di 60 tabelle distribuito sui layer di maturità; la distribuzione effettiva riflette il lineage dati completo dalla foundation fino alle tabelle gold corporate.

flowchart LR
  F["foundation
~13 tables"] SC["supply_chain
~10 tables"] D["distribution
~6 tables"] C["commercial
~16 tables"] CO["corporate
~15 tables"] F --> SC --> D --> C F -.-> CO C -.-> CO

Entità di business core

Relazioni logiche e chiavi ancora. Brand (brand_code) e impianto (facility_code) sono la spina dorsale; i numeri materiale collegano PIM a MES.

Diagramma sample: Questo diagramma di relazione tra entità mostra il modello logico core; l'EDW generato completo contiene 60 tabelle bronze in 34 sistemi vendor con tabelle di dettaglio aggiuntive e rami di lineage. Le istanze di entità portano entity_refs su ogni evento emesso per i test di joinability.

erDiagram
  BRAND ||--o{ PRODUCT : owns
  PRODUCT ||--o{ PRODUCTION_BATCH : produces
  PLANT ||--o{ PRODUCTION_BATCH : runs
  SUPPLIER ||--o{ PO : supplies
  PRODUCTION_BATCH ||--o{ PO : triggers
  PLANT ||--o{ INVENTORY : stocks
  RETAIL_CUSTOMER ||--o{ CUSTOMER_ORDER : places
  PRODUCT ||--o{ ORDER_LINE : contains
  CUSTOMER_ORDER ||--|{ ORDER_LINE : lines
  CUSTOMER_ORDER ||--o{ SHIPMENT : ships
  CUSTOMER_ORDER ||--o{ JOURNAL : posts
          

Paesaggio dei sistemi sorgente

34 prefissi vendor, 60 tabelle bronze.

Sistemi sample mostrati: Il diagramma sotto illustra sistemi vendor rappresentativi; il dataset generato completo include tutti i 34 sistemi con il loro lineage di tabelle completo e i punti di integrazione su backfill storico e stream live. Manifest condivisi dei sistemi sorgente in kb/source_systems/ sono riutilizzati tra i settori — P&C aggiunge pc_brand come sistema interno specifico di settore.

Ogni tabella segue la {source_system_}__{entity} convenzione di naming (es. pc_brand__brand, siemens_mes__work_order), preservando la forma nativa delle colonne e le foreign key dello schema di export reale di ciascun prodotto. VibeBI inferisce la conformità dei master data quando promuove i record a silver e gold.

flowchart TB
  subgraph foundation["Foundation"]
    direction TB
    f1["pc_brand · akeneo_pim
oracle_scm · workday"] f2["sap_s4 dimensions"] end subgraph supply_chain["Supply chain"] direction TB s1["blueyonder · sap_ariba
siemens_mes · mastercontrol"] s2["ibm_maximo · aws_iot"] end subgraph distribution["Distribution"] direction TB d1["manhattan_wms
oracle_otm"] end subgraph commercial["Commercial"] direction TB c1["salesforce · manhattan_oms
hubspot · marketo"] c2["google_analytics · qualtrics · zendesk"] end subgraph corporate["Corporate"] direction TB co1["sap_s4 journals · coupa
adp · ukg · concur"] co2["servicenow · okta · splunk
ironclad · onetrust · greenhouse"] end foundation --> supply_chain --> distribution --> commercial foundation --> corporate commercial --> corporate

Flusso dati end-to-end

Sim OOP V2 → bronze in ClickHouse; semantica VibeBI → silver → gold sulla stessa istanza.

Percorso OOP: kb/industries/pnc/ definisce la spina dorsale delle operations e il modello di entità; PcEnterpriseSimulation sequenzia i cicli di vita di domain; SourceSystem gli adapter esportano righe native del vendor in pnc_v2.

flowchart LR
  subgraph kb["kb/industries/pnc"]
    SPINE[entity + process models]
  end
  subgraph sim["sim/industries/pnc"]
    ORCH[PcEnterpriseSimulation]
    DOM["ProductionBatch · CustomerOrder
execute_lifecycle()"] end subgraph simedw["SimEDW V2"] ADP[SourceSystem adapters] CHB[("ClickHouse pnc_v2
60 bronze tables")] end subgraph vibebi["VibeBI"] SEM[("semantic")] SIL[("silver views")] GLD[("gold views")] end DASH["Dashboards & agents"] SPINE --> DOM ORCH --> DOM --> ADP --> CHB CHB --> SEM --> SIL --> GLD --> DASH

Ciclo bronze live

./live-v2-pnc — tick da 60s tramite PcEnterpriseSimulation.generate().

Frequenza live: Ogni tick esegue la state machine MakeToShipToSell — gli oggetti di domain emettono righe correlate di forecast, PO, MES, WMS, OMS, OTM e GL per lotto di produzione e ordine cliente retail; la scala varia per tick (base predefinita 5). Faccia backfill di qualsiasi arco di storia di cui ha bisogno (--days N sullo script live o sulla CLI).

flowchart LR
  START([60s tick]) --> SIM[PcEnterpriseSimulation.generate]
  SIM --> FOUND[PcPortfolio.publish_foundation]
  FOUND --> BATCH[ProductionBatch lifecycles]
  FOUND --> ORDER[CustomerOrder lifecycles]
  BATCH --> CORP[PlantOps + Finance + Commercial]
  ORDER --> CORP
  CORP --> EVT[SourceSystem events]
  EVT --> BRZ[Append bronze rows]
  BRZ --> WAIT[Sleep] --> START
          

Grafo eventi make-to-ship

State machine MakeToShipToSell — ogni transizione è un metodo di domain che emette righe vendor.

Spina dorsale di processo: Definito in kb/industries/pnc/process_model.yaml. Le modalità di eccezione (scarto di lotto, blocco qualità, spedizione parziale, ritardo fornitore) si ramificano dagli stessi cicli di vita delle entità, invece di insert casuali indipendenti.

flowchart LR
  FCST[forecasted] --> PROC[materials_procured]
  PROC --> PROD[production_started]
  PROD --> QC[quality_released]
  QC --> FG[finished_goods_received]
  FG --> ORD[customer_ordered]
  ORD --> FUL[fulfilled]
  FUL --> SHIP[shipped]
  SHIP --> GL[posted_to_gl]
  PROD -.->|scrap| SCRAP[batch_scrap]
  QC -.->|hold| HOLD[quality_hold]
  FUL -.->|short| PART[partial_shipment]
          

Categorie delle tabelle bronze

Stesso envelope di lineage su ogni tabella; la categoria guida il comportamento live.

Categorie sample: Tutte le 60 tabelle bronze seguono questo schema a tre categorie (snapshot, transaction, event) con metadati e tracciamento di stato coerenti; il diagramma illustra il pattern usato sull'intero warehouse.

flowchart LR
  subgraph snap["snapshot"]
    direction TB
    S1["Brand · plant · SKU masters"]
    S2[Daily foundation refresh]
  end
  subgraph txn["transaction"]
    direction TB
    T1["POs · work orders · OMS · GL"]
    T2[Append each live tick]
  end
  subgraph evt["event"]
    direction TB
    E1["IoT · WMS movement · OTM tracking"]
    E2[Append each live tick]
  end
          BRONZE[("pnc_v2 bronze row")]
          snap --> BRONZE
          txn --> BRONZE
          evt --> BRONZE
          

Inizi a fare vibing della sua BI.

Scarichi l'app desktop, il server e i sample data SimEDW — e completi la prima costruzione di un warehouse governato in un pomeriggio.

Avvio rapido → Anteprima prodotto Legga il white paper