# Source Adapter: Brink POS API

## Summary

Defines the Brink POS API pull PoC for the ETL platform.

The first goal is to prove that KDSAI can pull Brink SOAP data for one tenant-location, preserve raw SOAP payloads, land a small and still source-shaped staging subset, and populate the first useful curated warehouse tables without introducing a full production-grade control plane yet.

For the PoC, staging should stay intentionally simple. If `Sales2.GetOrders` makes a fully decomposed staging model too expensive too early, prefer a smaller order-centered staging landing and move more reshaping work into the `staging -> curated` step.

## Key Documents

- `adapter-architecture.md` - target solution structure, runtime components, ECS job model, checkpoints, and replay strategy
- `adapter-architecture-poc-simple.md` - simplest PoC architecture with one worker `BackgroundService` and internal schedule loop
- `first-etl-job-proposal.md` - proposed first Brink ETL job on the current TickerQ scheduler, including raw capture, batch semantics, rerun behavior, and extensibility
- `facade-implementation-plan.md` - implementation plan for the Brink communication facade and temporary connection resolution
- `facade-streaming-implementation-plan.md` - implementation plan for adding streaming raw extraction beside the typed facade for ETL use
- `facade-streaming-review-fix-plan.md` - follow-up fixes for request semantics, persisted raw validation, and trustworthy failure metadata in the streaming facade path
- `../03-s3-landing-replay-and-failure-storage/s3-storage-proposal.md` - proposed shared S3 bucket strategy, prefix model, Athena partitioning, and storage service contract used by Brink as the first adopter
- `../03-s3-landing-replay-and-failure-storage/s3-storage-implementation-plan.md` - implementation plan for the generic ETL S3 service used by Brink as the first adopter
- `../03-s3-landing-replay-and-failure-storage/s3-storage-streaming-implementation-plan.md` - implementation addendum for normal and streaming uploads, including Brink heavy-endpoint raw capture compatibility
- `xml-to-parquet-proposal.md` - recommended derived `load/` flow from raw SOAP XML to operation-shaped Parquet files
- `xml-to-parquet-implementation-plan.md` - detailed implementation plan, component split, and v1 Parquet contract for Brink load files
- `relational-load-staging-implementation-plan.md` - implementation plan for changing Brink landing from partial flat endpoint rows into relational Parquet contracts and Redshift staging tables
- `source-task.md` - PoC scope, constraints, staging subset, curated mapping, and metadata minimum
- `integration-flow.md` - Brink-specific ETL execution flow, stream order, checkpoints, and metadata update timing
- `poc-checklist.md` - implementation checklist for the Brink PoC
- `staging-to-curated-mapping.md` - field-by-field staging to curated mapping, starting with `kitchen_orders`
- `technical-integration-notes.md` - technical integration rules, API constraints, and PoC implementation guidance
- `../../../../ETL.md` - feature-level ETL architecture
- `../../../../flows/etl-ingestion.md` - end-to-end ingestion and publication flow
