export interface Bar { id: number; name: string; pfand_cents: number; } export interface Drink { id: number; name: string; price_cents: number; // SQLite has no boolean type — this is what the driver actually hands // back for an INTEGER column, not `boolean`. It happened to work // because `0` is falsy, but `archived === false` would silently be // wrong the moment someone wrote that comparison. archived: 0 | 1; } export interface BarConfig { bar: Bar; drinks: Drink[]; } export interface CartItem { drink_id: number; qty: number; } export interface CreateTransactionRequest { client_uuid: string; bar_id: number; crew: boolean; items: CartItem[]; pfand_returns: number; } export interface CreateTransactionResponse { id: number; total_cents: number; }