{
  "id": "557768a5-66c8-4e14-95ca-133b60ba2ca9",
  "prevId": "00000000-0000-0000-0000-000000000000",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.addresses": {
      "name": "addresses",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "label": {
          "name": "label",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "full_address": {
          "name": "full_address",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "lat": {
          "name": "lat",
          "type": "numeric(10, 7)",
          "primaryKey": false,
          "notNull": true
        },
        "lng": {
          "name": "lng",
          "type": "numeric(10, 7)",
          "primaryKey": false,
          "notNull": true
        },
        "is_gps": {
          "name": "is_gps",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "addresses_user_id_users_id_fk": {
          "name": "addresses_user_id_users_id_fk",
          "tableFrom": "addresses",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.admin_actions": {
      "name": "admin_actions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "admin_id": {
          "name": "admin_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "target_type": {
          "name": "target_type",
          "type": "admin_target_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "target_id": {
          "name": "target_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "action": {
          "name": "action",
          "type": "admin_action",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "note": {
          "name": "note",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "admin_actions_admin_id_users_id_fk": {
          "name": "admin_actions_admin_id_users_id_fk",
          "tableFrom": "admin_actions",
          "tableTo": "users",
          "columnsFrom": ["admin_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.business_hours": {
      "name": "business_hours",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "monday_open": {
          "name": "monday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "monday_close": {
          "name": "monday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "monday_closed": {
          "name": "monday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "tuesday_open": {
          "name": "tuesday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "tuesday_close": {
          "name": "tuesday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "tuesday_closed": {
          "name": "tuesday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "wednesday_open": {
          "name": "wednesday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "wednesday_close": {
          "name": "wednesday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "wednesday_closed": {
          "name": "wednesday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "thursday_open": {
          "name": "thursday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "thursday_close": {
          "name": "thursday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "thursday_closed": {
          "name": "thursday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "friday_open": {
          "name": "friday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "friday_close": {
          "name": "friday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "friday_closed": {
          "name": "friday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "saturday_open": {
          "name": "saturday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "saturday_close": {
          "name": "saturday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "saturday_closed": {
          "name": "saturday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "sunday_open": {
          "name": "sunday_open",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "sunday_close": {
          "name": "sunday_close",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "sunday_closed": {
          "name": "sunday_closed",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "special_notes": {
          "name": "special_notes",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "business_hours_vendor_id_vendors_id_fk": {
          "name": "business_hours_vendor_id_vendors_id_fk",
          "tableFrom": "business_hours",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "business_hours_vendor_id_unique": {
          "name": "business_hours_vendor_id_unique",
          "nullsNotDistinct": false,
          "columns": ["vendor_id"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.deal_images": {
      "name": "deal_images",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "deal_id": {
          "name": "deal_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "url": {
          "name": "url",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "is_primary": {
          "name": "is_primary",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "approval_status": {
          "name": "approval_status",
          "type": "image_approval_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "deal_images_deal_id_deals_id_fk": {
          "name": "deal_images_deal_id_deals_id_fk",
          "tableFrom": "deal_images",
          "tableTo": "deals",
          "columnsFrom": ["deal_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.deals": {
      "name": "deals",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "deal_type": {
          "name": "deal_type",
          "type": "deal_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "category": {
          "name": "category",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "original_price": {
          "name": "original_price",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "discount_percent": {
          "name": "discount_percent",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "discounted_price": {
          "name": "discounted_price",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "quantity_total": {
          "name": "quantity_total",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "quantity_sold": {
          "name": "quantity_sold",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "window_start": {
          "name": "window_start",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "window_end": {
          "name": "window_end",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "pickup_start": {
          "name": "pickup_start",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "pickup_end": {
          "name": "pickup_end",
          "type": "time",
          "primaryKey": false,
          "notNull": false
        },
        "pickup_address": {
          "name": "pickup_address",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "special_instructions": {
          "name": "special_instructions",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "deal_state": {
          "name": "deal_state",
          "type": "deal_state",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'DRAFT'"
        },
        "rejection_reason": {
          "name": "rejection_reason",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "rejection_detail": {
          "name": "rejection_detail",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "commission_rate": {
          "name": "commission_rate",
          "type": "numeric(4, 3)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0.100'"
        },
        "is_personal_deal": {
          "name": "is_personal_deal",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "personal_deal_for_user_id": {
          "name": "personal_deal_for_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "approved_at": {
          "name": "approved_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "approved_by": {
          "name": "approved_by",
          "type": "approved_by",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "sold_out_at": {
          "name": "sold_out_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "sold_out_gold_expires_at": {
          "name": "sold_out_gold_expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "deals_vendor_state_idx": {
          "name": "deals_vendor_state_idx",
          "columns": [
            {
              "expression": "vendor_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "deal_state",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "deals_type_state_idx": {
          "name": "deals_type_state_idx",
          "columns": [
            {
              "expression": "deal_type",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "deal_state",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "deals_vendor_id_vendors_id_fk": {
          "name": "deals_vendor_id_vendors_id_fk",
          "tableFrom": "deals",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "deals_personal_deal_for_user_id_users_id_fk": {
          "name": "deals_personal_deal_for_user_id_users_id_fk",
          "tableFrom": "deals",
          "tableTo": "users",
          "columnsFrom": ["personal_deal_for_user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "deals_discount_percent_range": {
          "name": "deals_discount_percent_range",
          "value": "\"deals\".\"discount_percent\" BETWEEN 50 AND 100"
        }
      },
      "isRLSEnabled": false
    },
    "public.image_uploads": {
      "name": "image_uploads",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "uploader_user_id": {
          "name": "uploader_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "uploader_vendor_id": {
          "name": "uploader_vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "r2_key": {
          "name": "r2_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "mime": {
          "name": "mime",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "size_bytes": {
          "name": "size_bytes",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "scan_status": {
          "name": "scan_status",
          "type": "scan_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "approval_status": {
          "name": "approval_status",
          "type": "image_approval_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "image_uploads_uploader_user_id_users_id_fk": {
          "name": "image_uploads_uploader_user_id_users_id_fk",
          "tableFrom": "image_uploads",
          "tableTo": "users",
          "columnsFrom": ["uploader_user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "image_uploads_uploader_vendor_id_vendors_id_fk": {
          "name": "image_uploads_uploader_vendor_id_vendors_id_fk",
          "tableFrom": "image_uploads",
          "tableTo": "vendors",
          "columnsFrom": ["uploader_vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.loyalty_memberships": {
      "name": "loyalty_memberships",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "joined_via_purchase_id": {
          "name": "joined_via_purchase_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "joined_at": {
          "name": "joined_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        }
      },
      "indexes": {
        "loyalty_vendor_idx": {
          "name": "loyalty_vendor_idx",
          "columns": [
            {
              "expression": "vendor_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "loyalty_memberships_user_id_users_id_fk": {
          "name": "loyalty_memberships_user_id_users_id_fk",
          "tableFrom": "loyalty_memberships",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "loyalty_memberships_vendor_id_vendors_id_fk": {
          "name": "loyalty_memberships_vendor_id_vendors_id_fk",
          "tableFrom": "loyalty_memberships",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "loyalty_memberships_joined_via_purchase_id_purchases_id_fk": {
          "name": "loyalty_memberships_joined_via_purchase_id_purchases_id_fk",
          "tableFrom": "loyalty_memberships",
          "tableTo": "purchases",
          "columnsFrom": ["joined_via_purchase_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "loyalty_user_vendor_unique": {
          "name": "loyalty_user_vendor_unique",
          "nullsNotDistinct": false,
          "columns": ["user_id", "vendor_id"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.magic_links": {
      "name": "magic_links",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "token_hash": {
          "name": "token_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email_encrypted": {
          "name": "email_encrypted",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "pre_fill": {
          "name": "pre_fill",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "used_at": {
          "name": "used_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "magic_links_expires_at_idx": {
          "name": "magic_links_expires_at_idx",
          "columns": [
            {
              "expression": "expires_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "magic_links_token_hash_unique": {
          "name": "magic_links_token_hash_unique",
          "nullsNotDistinct": false,
          "columns": ["token_hash"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.monthly_settlements": {
      "name": "monthly_settlements",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "period_start": {
          "name": "period_start",
          "type": "date",
          "primaryKey": false,
          "notNull": true
        },
        "period_end": {
          "name": "period_end",
          "type": "date",
          "primaryKey": false,
          "notNull": true
        },
        "total_deals_revenue": {
          "name": "total_deals_revenue",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "total_loyalty_revenue": {
          "name": "total_loyalty_revenue",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "platform_commission": {
          "name": "platform_commission",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "vendor_payout": {
          "name": "vendor_payout",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "payout_method": {
          "name": "payout_method",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "payout_status": {
          "name": "payout_status",
          "type": "payout_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "payout_at": {
          "name": "payout_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "morning_payout_id": {
          "name": "morning_payout_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "monthly_settlements_vendor_id_vendors_id_fk": {
          "name": "monthly_settlements_vendor_id_vendors_id_fk",
          "tableFrom": "monthly_settlements",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.outbox": {
      "name": "outbox",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "aggregate_type": {
          "name": "aggregate_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "aggregate_id": {
          "name": "aggregate_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "event_type": {
          "name": "event_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "payload": {
          "name": "payload",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "processed_at": {
          "name": "processed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "outbox_processed_at_idx": {
          "name": "outbox_processed_at_idx",
          "columns": [
            {
              "expression": "processed_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.payment_methods": {
      "name": "payment_methods",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "last4": {
          "name": "last4",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "brand": {
          "name": "brand",
          "type": "payment_brand",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "token": {
          "name": "token",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "is_default": {
          "name": "is_default",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "payment_methods_user_id_users_id_fk": {
          "name": "payment_methods_user_id_users_id_fk",
          "tableFrom": "payment_methods",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.personal_deal_requests": {
      "name": "personal_deal_requests",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "source_deal_id": {
          "name": "source_deal_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "status": {
          "name": "status",
          "type": "personal_deal_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "response_deadline": {
          "name": "response_deadline",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "responded_at": {
          "name": "responded_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "created_deal_id": {
          "name": "created_deal_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "personal_deal_requests_user_id_users_id_fk": {
          "name": "personal_deal_requests_user_id_users_id_fk",
          "tableFrom": "personal_deal_requests",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "personal_deal_requests_vendor_id_vendors_id_fk": {
          "name": "personal_deal_requests_vendor_id_vendors_id_fk",
          "tableFrom": "personal_deal_requests",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "personal_deal_requests_source_deal_id_deals_id_fk": {
          "name": "personal_deal_requests_source_deal_id_deals_id_fk",
          "tableFrom": "personal_deal_requests",
          "tableTo": "deals",
          "columnsFrom": ["source_deal_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "personal_deal_requests_created_deal_id_deals_id_fk": {
          "name": "personal_deal_requests_created_deal_id_deals_id_fk",
          "tableFrom": "personal_deal_requests",
          "tableTo": "deals",
          "columnsFrom": ["created_deal_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.purchase_messages": {
      "name": "purchase_messages",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "purchase_id": {
          "name": "purchase_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "sender_type": {
          "name": "sender_type",
          "type": "sender_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "sender_id": {
          "name": "sender_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "body": {
          "name": "body",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "read_at": {
          "name": "read_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "purchase_messages_purchase_id_purchases_id_fk": {
          "name": "purchase_messages_purchase_id_purchases_id_fk",
          "tableFrom": "purchase_messages",
          "tableTo": "purchases",
          "columnsFrom": ["purchase_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.purchases": {
      "name": "purchases",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "guest_email": {
          "name": "guest_email",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "guest_phone": {
          "name": "guest_phone",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "deal_id": {
          "name": "deal_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "quantity": {
          "name": "quantity",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 1
        },
        "amount_paid": {
          "name": "amount_paid",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "commission_amount": {
          "name": "commission_amount",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_amount": {
          "name": "vendor_amount",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "payment_method_id": {
          "name": "payment_method_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "payment_status": {
          "name": "payment_status",
          "type": "payment_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "redemption_status": {
          "name": "redemption_status",
          "type": "redemption_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'UNREDEEMED'"
        },
        "qr_token_hash": {
          "name": "qr_token_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "qr_png_url": {
          "name": "qr_png_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "redeemed_at": {
          "name": "redeemed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "cancelled_at": {
          "name": "cancelled_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "cancellation_reason": {
          "name": "cancellation_reason",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "review_eligible": {
          "name": "review_eligible",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "morning_charge_id": {
          "name": "morning_charge_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "morning_invoice_id": {
          "name": "morning_invoice_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "idempotency_key": {
          "name": "idempotency_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {
        "purchases_user_created_idx": {
          "name": "purchases_user_created_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "purchases_vendor_idx": {
          "name": "purchases_vendor_idx",
          "columns": [
            {
              "expression": "vendor_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "purchases_user_id_users_id_fk": {
          "name": "purchases_user_id_users_id_fk",
          "tableFrom": "purchases",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "purchases_deal_id_deals_id_fk": {
          "name": "purchases_deal_id_deals_id_fk",
          "tableFrom": "purchases",
          "tableTo": "deals",
          "columnsFrom": ["deal_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "purchases_vendor_id_vendors_id_fk": {
          "name": "purchases_vendor_id_vendors_id_fk",
          "tableFrom": "purchases",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "purchases_payment_method_id_payment_methods_id_fk": {
          "name": "purchases_payment_method_id_payment_methods_id_fk",
          "tableFrom": "purchases",
          "tableTo": "payment_methods",
          "columnsFrom": ["payment_method_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "purchases_idempotency_key_unique": {
          "name": "purchases_idempotency_key_unique",
          "nullsNotDistinct": false,
          "columns": ["idempotency_key"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.push_subscriptions": {
      "name": "push_subscriptions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "endpoint": {
          "name": "endpoint",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "p256dh": {
          "name": "p256dh",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "auth": {
          "name": "auth",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_agent": {
          "name": "user_agent",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "revoked_at": {
          "name": "revoked_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "push_subscriptions_user_id_users_id_fk": {
          "name": "push_subscriptions_user_id_users_id_fk",
          "tableFrom": "push_subscriptions",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "push_subscriptions_endpoint_unique": {
          "name": "push_subscriptions_endpoint_unique",
          "nullsNotDistinct": false,
          "columns": ["endpoint"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.rate_limit_buckets": {
      "name": "rate_limit_buckets",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "count": {
          "name": "count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "window_start_at": {
          "name": "window_start_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "refilled_at": {
          "name": "refilled_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.report_tickets": {
      "name": "report_tickets",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "reporter_user_id": {
          "name": "reporter_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "target_type": {
          "name": "target_type",
          "type": "report_target_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "target_id": {
          "name": "target_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "reason": {
          "name": "reason",
          "type": "report_reason",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true
        },
        "body": {
          "name": "body",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "status": {
          "name": "status",
          "type": "report_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'OPEN'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "resolved_at": {
          "name": "resolved_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "report_tickets_reporter_user_id_users_id_fk": {
          "name": "report_tickets_reporter_user_id_users_id_fk",
          "tableFrom": "report_tickets",
          "tableTo": "users",
          "columnsFrom": ["reporter_user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.review_removal_queue": {
      "name": "review_removal_queue",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "review_id": {
          "name": "review_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "submitted_by": {
          "name": "submitted_by",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "reason": {
          "name": "reason",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "ai_score": {
          "name": "ai_score",
          "type": "numeric(5, 4)",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "review_removal_queue_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "decided_at": {
          "name": "decided_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "review_removal_queue_review_id_reviews_id_fk": {
          "name": "review_removal_queue_review_id_reviews_id_fk",
          "tableFrom": "review_removal_queue",
          "tableTo": "reviews",
          "columnsFrom": ["review_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "review_removal_queue_submitted_by_vendors_id_fk": {
          "name": "review_removal_queue_submitted_by_vendors_id_fk",
          "tableFrom": "review_removal_queue",
          "tableTo": "vendors",
          "columnsFrom": ["submitted_by"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "review_removal_queue_review_id_unique": {
          "name": "review_removal_queue_review_id_unique",
          "nullsNotDistinct": false,
          "columns": ["review_id"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.reviews": {
      "name": "reviews",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "purchase_id": {
          "name": "purchase_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "review_type": {
          "name": "review_type",
          "type": "review_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'STANDARD'"
        },
        "rating": {
          "name": "rating",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "body": {
          "name": "body",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_reply": {
          "name": "vendor_reply",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "vendor_reply_at": {
          "name": "vendor_reply_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "removal_requested": {
          "name": "removal_requested",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "removal_reason": {
          "name": "removal_reason",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "removal_status": {
          "name": "removal_status",
          "type": "removal_status",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'NONE'"
        },
        "removed_by": {
          "name": "removed_by",
          "type": "removed_by",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": false
        },
        "is_visible": {
          "name": "is_visible",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "reviews_vendor_visible_idx": {
          "name": "reviews_vendor_visible_idx",
          "columns": [
            {
              "expression": "vendor_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "is_visible",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "reviews_purchase_id_purchases_id_fk": {
          "name": "reviews_purchase_id_purchases_id_fk",
          "tableFrom": "reviews",
          "tableTo": "purchases",
          "columnsFrom": ["purchase_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "reviews_user_id_users_id_fk": {
          "name": "reviews_user_id_users_id_fk",
          "tableFrom": "reviews",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "reviews_vendor_id_vendors_id_fk": {
          "name": "reviews_vendor_id_vendors_id_fk",
          "tableFrom": "reviews",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "reviews_purchase_id_unique": {
          "name": "reviews_purchase_id_unique",
          "nullsNotDistinct": false,
          "columns": ["purchase_id"]
        }
      },
      "policies": {},
      "checkConstraints": {
        "reviews_rating_range": {
          "name": "reviews_rating_range",
          "value": "\"reviews\".\"rating\" IS NULL OR (\"reviews\".\"rating\" BETWEEN 1 AND 5)"
        }
      },
      "isRLSEnabled": false
    },
    "public.sessions": {
      "name": "sessions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "text",
          "primaryKey": true,
          "notNull": true
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "csrf_token": {
          "name": "csrf_token",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "user_agent": {
          "name": "user_agent",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "ip_encrypted": {
          "name": "ip_encrypted",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "revoked_at": {
          "name": "revoked_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "sessions_expires_at_idx": {
          "name": "sessions_expires_at_idx",
          "columns": [
            {
              "expression": "expires_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "sessions_user_id_users_id_fk": {
          "name": "sessions_user_id_users_id_fk",
          "tableFrom": "sessions",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.standing_offers": {
      "name": "standing_offers",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "image_url": {
          "name": "image_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "original_price": {
          "name": "original_price",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "discount_percent": {
          "name": "discount_percent",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "discounted_price": {
          "name": "discounted_price",
          "type": "numeric(10, 2)",
          "primaryKey": false,
          "notNull": true
        },
        "is_active": {
          "name": "is_active",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "standing_offers_vendor_id_vendors_id_fk": {
          "name": "standing_offers_vendor_id_vendors_id_fk",
          "tableFrom": "standing_offers",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "standing_offers_discount_range": {
          "name": "standing_offers_discount_range",
          "value": "\"standing_offers\".\"discount_percent\" BETWEEN 0 AND 100"
        }
      },
      "isRLSEnabled": false
    },
    "public.user_gallery_images": {
      "name": "user_gallery_images",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "purchase_id": {
          "name": "purchase_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "url": {
          "name": "url",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "caption": {
          "name": "caption",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_gallery_images_user_id_users_id_fk": {
          "name": "user_gallery_images_user_id_users_id_fk",
          "tableFrom": "user_gallery_images",
          "tableTo": "users",
          "columnsFrom": ["user_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "user_gallery_images_vendor_id_vendors_id_fk": {
          "name": "user_gallery_images_vendor_id_vendors_id_fk",
          "tableFrom": "user_gallery_images",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        },
        "user_gallery_images_purchase_id_purchases_id_fk": {
          "name": "user_gallery_images_purchase_id_purchases_id_fk",
          "tableFrom": "user_gallery_images",
          "tableTo": "purchases",
          "columnsFrom": ["purchase_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.users": {
      "name": "users",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "phone": {
          "name": "phone",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "phone_index": {
          "name": "phone_index",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "email_index": {
          "name": "email_index",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "display_name": {
          "name": "display_name",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "avatar_type": {
          "name": "avatar_type",
          "type": "avatar_type",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'ICON'"
        },
        "avatar_value": {
          "name": "avatar_value",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "email_2fa_enabled": {
          "name": "email_2fa_enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": true
        },
        "purchase_count": {
          "name": "purchase_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "preferences_profile": {
          "name": "preferences_profile",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": false
        },
        "account_state": {
          "name": "account_state",
          "type": "account_state_user",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'ACTIVE'"
        },
        "is_admin": {
          "name": "is_admin",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "deletion_requested_at": {
          "name": "deletion_requested_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "users_phone_index_idx": {
          "name": "users_phone_index_idx",
          "columns": [
            {
              "expression": "phone_index",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "users_email_index_idx": {
          "name": "users_email_index_idx",
          "columns": [
            {
              "expression": "email_index",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {
        "users_phone_index_unique": {
          "name": "users_phone_index_unique",
          "nullsNotDistinct": false,
          "columns": ["phone_index"]
        },
        "users_email_index_unique": {
          "name": "users_email_index_unique",
          "nullsNotDistinct": false,
          "columns": ["email_index"]
        }
      },
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.vendor_addresses": {
      "name": "vendor_addresses",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "label": {
          "name": "label",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "full_address": {
          "name": "full_address",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "lat": {
          "name": "lat",
          "type": "numeric(10, 7)",
          "primaryKey": false,
          "notNull": true
        },
        "lng": {
          "name": "lng",
          "type": "numeric(10, 7)",
          "primaryKey": false,
          "notNull": true
        }
      },
      "indexes": {},
      "foreignKeys": {
        "vendor_addresses_vendor_id_vendors_id_fk": {
          "name": "vendor_addresses_vendor_id_vendors_id_fk",
          "tableFrom": "vendor_addresses",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.vendor_gallery_images": {
      "name": "vendor_gallery_images",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "vendor_id": {
          "name": "vendor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "url": {
          "name": "url",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "caption": {
          "name": "caption",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "sort_order": {
          "name": "sort_order",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "vendor_gallery_images_vendor_id_vendors_id_fk": {
          "name": "vendor_gallery_images_vendor_id_vendors_id_fk",
          "tableFrom": "vendor_gallery_images",
          "tableTo": "vendors",
          "columnsFrom": ["vendor_id"],
          "columnsTo": ["id"],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.vendors": {
      "name": "vendors",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "owner_user_id": {
          "name": "owner_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "business_name": {
          "name": "business_name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "display_name": {
          "name": "display_name",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "''"
        },
        "category": {
          "name": "category",
          "type": "text[]",
          "primaryKey": false,
          "notNull": true,
          "default": "ARRAY[]::text[]"
        },
        "phone": {
          "name": "phone",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "logo_url": {
          "name": "logo_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "hero_image_url": {
          "name": "hero_image_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "tier": {
          "name": "tier",
          "type": "vendor_tier",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'NEW'"
        },
        "account_state": {
          "name": "account_state",
          "type": "account_state_vendor",
          "typeSchema": "public",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING_FIRST_APPROVAL'"
        },
        "total_sales": {
          "name": "total_sales",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "total_revenue": {
          "name": "total_revenue",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "reviews_score": {
          "name": "reviews_score",
          "type": "numeric(3, 2)",
          "primaryKey": false,
          "notNull": true,
          "default": "'0'"
        },
        "reviews_count": {
          "name": "reviews_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "removed_reviews_count": {
          "name": "removed_reviews_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "unresolved_voucher_complaints": {
          "name": "unresolved_voucher_complaints",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "first_voucher_complaint_at": {
          "name": "first_voucher_complaint_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "payout_method": {
          "name": "payout_method",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "vendors_owner_user_id_users_id_fk": {
          "name": "vendors_owner_user_id_users_id_fk",
          "tableFrom": "vendors",
          "tableTo": "users",
          "columnsFrom": ["owner_user_id"],
          "columnsTo": ["id"],
          "onDelete": "no action",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    }
  },
  "enums": {
    "public.account_state_user": {
      "name": "account_state_user",
      "schema": "public",
      "values": ["ACTIVE", "FROZEN", "DELETED_PENDING", "DELETED"]
    },
    "public.account_state_vendor": {
      "name": "account_state_vendor",
      "schema": "public",
      "values": ["PENDING_FIRST_APPROVAL", "ACTIVE", "VETERAN", "FROZEN", "BANNED"]
    },
    "public.admin_action": {
      "name": "admin_action",
      "schema": "public",
      "values": [
        "APPROVE",
        "REJECT",
        "FREEZE",
        "UNFREEZE",
        "BAN",
        "REMOVE_REVIEW",
        "RESTORE_REVIEW",
        "ADD_QUANTITY"
      ]
    },
    "public.admin_target_type": {
      "name": "admin_target_type",
      "schema": "public",
      "values": ["DEAL", "VENDOR", "REVIEW", "USER"]
    },
    "public.approved_by": {
      "name": "approved_by",
      "schema": "public",
      "values": ["HUMAN", "AI_AGENT"]
    },
    "public.avatar_type": {
      "name": "avatar_type",
      "schema": "public",
      "values": ["ICON", "GRAVATAR"]
    },
    "public.deal_state": {
      "name": "deal_state",
      "schema": "public",
      "values": ["DRAFT", "PENDING_APPROVAL", "ACTIVE", "PAUSED", "SOLD_OUT", "EXPIRED", "REJECTED"]
    },
    "public.deal_type": {
      "name": "deal_type",
      "schema": "public",
      "values": ["DAILY", "EXPERIENCE", "PRODUCT", "VOUCHER"]
    },
    "public.image_approval_status": {
      "name": "image_approval_status",
      "schema": "public",
      "values": ["PENDING", "APPROVED", "REJECTED", "AUTO_APPROVED"]
    },
    "public.payment_brand": {
      "name": "payment_brand",
      "schema": "public",
      "values": ["VISA", "MASTERCARD", "AMEX", "BIT", "PAYPAL", "GOOGLE_PAY", "OTHER"]
    },
    "public.payment_status": {
      "name": "payment_status",
      "schema": "public",
      "values": ["PENDING", "COMPLETED", "REFUNDED", "PARTIAL_REFUND"]
    },
    "public.payout_status": {
      "name": "payout_status",
      "schema": "public",
      "values": ["PENDING", "PROCESSING", "COMPLETED", "FAILED"]
    },
    "public.personal_deal_status": {
      "name": "personal_deal_status",
      "schema": "public",
      "values": ["PENDING", "ACCEPTED", "REJECTED", "EXPIRED"]
    },
    "public.redemption_status": {
      "name": "redemption_status",
      "schema": "public",
      "values": ["UNREDEEMED", "REDEEMED", "EXPIRED", "CANCELLED"]
    },
    "public.removal_status": {
      "name": "removal_status",
      "schema": "public",
      "values": ["NONE", "PENDING", "APPROVED", "REJECTED"]
    },
    "public.removed_by": {
      "name": "removed_by",
      "schema": "public",
      "values": ["HUMAN", "AI_AGENT"]
    },
    "public.report_reason": {
      "name": "report_reason",
      "schema": "public",
      "values": ["FACTUAL_ERROR", "MISLEADING", "WRONG_HOURS", "BUG", "OTHER"]
    },
    "public.report_status": {
      "name": "report_status",
      "schema": "public",
      "values": ["OPEN", "INVESTIGATING", "RESOLVED", "DISMISSED"]
    },
    "public.report_target_type": {
      "name": "report_target_type",
      "schema": "public",
      "values": ["VENDOR", "DEAL", "REVIEW", "USER"]
    },
    "public.review_removal_queue_status": {
      "name": "review_removal_queue_status",
      "schema": "public",
      "values": ["PENDING", "APPROVED", "REJECTED"]
    },
    "public.review_type": {
      "name": "review_type",
      "schema": "public",
      "values": ["STANDARD", "TECHNICAL"]
    },
    "public.scan_status": {
      "name": "scan_status",
      "schema": "public",
      "values": ["PENDING", "CLEAN", "INFECTED", "ERROR"]
    },
    "public.sender_type": {
      "name": "sender_type",
      "schema": "public",
      "values": ["USER", "VENDOR"]
    },
    "public.vendor_tier": {
      "name": "vendor_tier",
      "schema": "public",
      "values": ["NEW", "VETERAN"]
    }
  },
  "schemas": {},
  "sequences": {},
  "roles": {},
  "policies": {},
  "views": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}
