/** * `booking_drafts` — server-side draft state for the unified booking * journey. Survives refresh, tab loss, and short walk-aways. On * commit, `consumed_booking_id` points at the materialized booking; * abandoned drafts never produce a `bookings` row. * * Per `docs/architecture/booking-journey-architecture.md` §5.7 + * §12.10 (settled on the sibling-table option B — ships alongside * `booking_session_states` rather than extending it). * * Lifecycle: * 1. Wizard PUTs the draft on every step transition. * 2. Quote requests resolve draft → engine → catalog_quotes. * 3. On commit, the engine writes the bookings row and stamps * `consumed_booking_id` here. * 4. Abandoned drafts (`expires_at` passed) are reaped by a daily * job, releasing any associated soft holds first. */ export declare const bookingDraftsTable: import("drizzle-orm/pg-core").PgTableWithColumns<{ name: "booking_drafts"; schema: undefined; columns: { id: import("drizzle-orm/pg-core").PgColumn<{ name: string; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: true; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; entity_module: import("drizzle-orm/pg-core").PgColumn<{ name: "entity_module"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; entity_id: import("drizzle-orm/pg-core").PgColumn<{ name: "entity_id"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; source_kind: import("drizzle-orm/pg-core").PgColumn<{ name: "source_kind"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; source_connection_id: import("drizzle-orm/pg-core").PgColumn<{ name: "source_connection_id"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; source_ref: import("drizzle-orm/pg-core").PgColumn<{ name: "source_ref"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; draft_payload: import("drizzle-orm/pg-core").PgColumn<{ name: "draft_payload"; tableName: "booking_drafts"; dataType: "json"; columnType: "PgJsonb"; data: Record; driverParam: unknown; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: Record; }>; current_step: import("drizzle-orm/pg-core").PgColumn<{ name: "current_step"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; current_quote_id: import("drizzle-orm/pg-core").PgColumn<{ name: "current_quote_id"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; hold_expires_at: import("drizzle-orm/pg-core").PgColumn<{ name: "hold_expires_at"; tableName: "booking_drafts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; consumed_booking_id: import("drizzle-orm/pg-core").PgColumn<{ name: "consumed_booking_id"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; consumed_at: import("drizzle-orm/pg-core").PgColumn<{ name: "consumed_at"; tableName: "booking_drafts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; created_by: import("drizzle-orm/pg-core").PgColumn<{ name: "created_by"; tableName: "booking_drafts"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; created_at: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "booking_drafts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updated_at: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: "booking_drafts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; expires_at: import("drizzle-orm/pg-core").PgColumn<{ name: "expires_at"; tableName: "booking_drafts"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>; export type SelectBookingDraft = typeof bookingDraftsTable.$inferSelect; export type InsertBookingDraft = typeof bookingDraftsTable.$inferInsert; //# sourceMappingURL=drafts-schema.d.ts.map