model { // --- Specific Integration Use Cases --- brinkpos = system 'Brink POS' { #integration_use_case description 'Point-of-Sale system exposing REST APIs for orders, transactions, and inventory' technology 'REST API' brinkposApi = service 'Brink API' { #integration_use_case description 'RESTful endpoints for accessing orders, employees, inventory, and sales data' technology 'REST' } } kdsdebezium = system 'KDS with Debezium' { #integration_use_case description 'Kitchen Display System with change data capture via Debezium' technology 'PostgreSQL + Debezium CDC' kdsDb = database 'KDS Database' { #integration_use_case description 'PostgreSQL database storing kitchen orders, items, and statuses' technology 'PostgreSQL' } debezium = service 'Debezium' { #integration_use_case description 'Change Data Capture connector extracting CDC events from KDS database' technology 'Debezium CDC' } } // --- Brink POS integration flow (API pull) --- brinkpos.brinkposApi -[etl]-> kdsai.etl.etlWorker 'ETL Worker polls for orders and inventory' // --- KDS Debezium integration flow (CDC) --- kdsdebezium.kdsDb -> kdsdebezium.debezium 'CDC captures changes from' kdsdebezium.debezium -[etl]-> kdsai.etl.etlWorker 'Sends change events to' }