{
  "schema": "ods",
  "table": "group_buy_packages",
  "columns": [
    {
      "name": "id",
      "data_type": "bigint",
      "is_nullable": false,
      "column_default": null,
      "comment": "【说明】门店侧套餐 ID，本文件内部的主键。     【示例】2939215004469573（用于门店侧套餐 ID，本文件内部的主键）。          【JSON字段】group_buy_packages.json - data.packageCouponList - id。",
      "ordinal_position": 1
    },
    {
      "name": "package_id",
      "data_type": "bigint",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】“上层套餐 ID” 或“总部/系统级套餐 ID”。     【示例】1814707240811572（用于“上层套餐 ID” 或“总部/系统级套餐 ID”）。          【JSON字段】group_buy_packages.json - data.packageCouponList - package_id。",
      "ordinal_position": 2
    },
    {
      "name": "package_name",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】团购套餐名称，用于前台展示和核销界面。     【示例】早场特惠一小时（团购套餐名称，用于前台展示和核销界面）。          【JSON字段】group_buy_packages.json - data.packageCouponList - package_name。",
      "ordinal_position": 3
    },
    {
      "name": "selling_price",
      "data_type": "numeric",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】语义上应该是“团购售卖价”（顾客在平台购买券时的成交价格）。     【示例】0.0（用于语义上应该是“团购售卖价”（顾客在平台购买券时的成交价格））。          【JSON字段】group_buy_packages.json - data.packageCouponList - selling_price。",
      "ordinal_position": 4
    },
    {
      "name": "coupon_money",
      "data_type": "numeric",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】券面值或内部结算面值，表示该套餐在门店侧对应的金额额度。     【示例】0.0（用于券面值或内部结算面值，表示该套餐在门店侧对应的金额额度）。          【JSON字段】group_buy_packages.json - data.packageCouponList - coupon_money。",
      "ordinal_position": 5
    },
    {
      "name": "date_type",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】来自 JSON 导出的原始字段，用于保留业务取值。     【示例】1（来自 JSON 导出的原始字段，用于保留业务取值。）。          【JSON字段】group_buy_packages.json - data.packageCouponList - date_type。",
      "ordinal_position": 6
    },
    {
      "name": "date_info",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】预留字段，通常用来存储更细粒度的日期信息，如具体日期列表、节假日特殊规则（可能是 JSON 字符串或编码）。     【示例】0（用于预留字段，通常用来存储更细粒度的日期信息，如具体日期列表、节假日特殊规则（可能是 JSON 字符串或编码））。          【JSON字段】group_buy_packages.json - data.packageCouponList - date_info。",
      "ordinal_position": 7
    },
    {
      "name": "start_time",
      "data_type": "timestamp without time zone",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】套餐开始生效的日期时间。     【示例】2025-10-27 00:00:00（用于套餐开始生效的日期时间）。          【JSON字段】group_buy_packages.json - data.packageCouponList - start_time。",
      "ordinal_position": 8
    },
    {
      "name": "end_time",
      "data_type": "timestamp without time zone",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】套餐失效的日期时间（到这个时间点后不可使用）。     【示例】2026-10-28 00:00:00（用于套餐失效的日期时间（到这个时间点后不可使用））。          【JSON字段】group_buy_packages.json - data.packageCouponList - end_time。",
      "ordinal_position": 9
    },
    {
      "name": "start_clock",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】每日可用起始时间点（第一段）。     【示例】00:00:00（用于每日可用起始时间点（第一段））。          【JSON字段】group_buy_packages.json - data.packageCouponList - start_clock。",
      "ordinal_position": 10
    },
    {
      "name": "end_clock",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】每日可用的结束时间点（第一段）。     【示例】1.00:00:00（用于每日可用的结束时间点（第一段））。          【JSON字段】group_buy_packages.json - data.packageCouponList - end_clock。",
      "ordinal_position": 11
    },
    {
      "name": "add_start_clock",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】附加可用时间段的起始时间（第二段）。     【示例】00:00:00（用于附加可用时间段的起始时间（第二段））。          【JSON字段】group_buy_packages.json - data.packageCouponList - add_start_clock。",
      "ordinal_position": 12
    },
    {
      "name": "add_end_clock",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】附加时段结束时间，多数情况配合 \"00:00:00\" 或 \"10:00:00\" 使用。     【示例】1.00:00:00（用于附加时段结束时间，多数情况配合 \"00:00:00\" 或 \"10:00:00\" 使用）。          【JSON字段】group_buy_packages.json - data.packageCouponList - add_end_clock。",
      "ordinal_position": 13
    },
    {
      "name": "duration",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】套餐内包含的时长（秒）。     【示例】3600（用于套餐内包含的时长（秒））。          【JSON字段】group_buy_packages.json - data.packageCouponList - duration。",
      "ordinal_position": 14
    },
    {
      "name": "usable_count",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】可使用次数上限。     【示例】9999999（用于可使用次数上限）。          【JSON字段】group_buy_packages.json - data.packageCouponList - usable_count。",
      "ordinal_position": 15
    },
    {
      "name": "usable_range",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】一般用于文字描述可用日期范围（例如“周一至周五”）。     【示例】NULL（一般用于文字描述可用日期范围（例如“周一至周五”））。          【JSON字段】group_buy_packages.json - data.packageCouponList - usable_range。",
      "ordinal_position": 16
    },
    {
      "name": "table_area_id",
      "data_type": "bigint",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】原始设计应为“单一台区 ID”，当套餐只限一个区域可以用这个字段存储。     【示例】0（用于原始设计应为“单一台区 ID”，当套餐只限一个区域可以用这个字段存储）。          【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_id。",
      "ordinal_position": 17
    },
    {
      "name": "table_area_name",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】套餐适用的“门店台区名称”，用于显示和筛选。     【示例】A区（套餐适用的“门店台区名称”，用于显示和筛选）。          【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_name。",
      "ordinal_position": 18
    },
    {
      "name": "table_area_id_list",
      "data_type": "jsonb",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】用来存放具体台区 ID 列表（例如 \"1,2,3\"），实现更细粒度的台桌限制。     【示例】NULL（用于用来存放具体台区 ID 列表（例如 \"1,2,3\"），实现更细粒度的台桌限制）。          【JSON字段】group_buy_packages.json - data.packageCouponList - table_area_id_list。",
      "ordinal_position": 19
    },
    {
      "name": "tenant_table_area_id",
      "data_type": "bigint",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】与 table_area_id 类似，是租户层级的台区 ID，原本用于单区选择。     【示例】0（与 table_area_id 类似，是租户层级的台区 ID，原本用于单区选择）。          【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_table_area_id。",
      "ordinal_position": 20
    },
    {
      "name": "tenant_table_area_id_list",
      "data_type": "jsonb",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】实际代表“台区集合 ID”或“租户台区配置 ID”，用来限制套餐可用的台区范围。     【示例】2791960001957765（用于实际代表“台区集合 ID”或“租户台区配置 ID”，用来限制套餐可用的台区范围）。          【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_table_area_id_list。",
      "ordinal_position": 21
    },
    {
      "name": "site_id",
      "data_type": "bigint",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】门店 ID。     【示例】2790685415443269（用于门店 ID）。          【JSON字段】group_buy_packages.json - data.packageCouponList - site_id。",
      "ordinal_position": 22
    },
    {
      "name": "site_name",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】门店名称。     【示例】朗朗桌球（用于门店名称）。          【JSON字段】group_buy_packages.json - data.packageCouponList - site_name。",
      "ordinal_position": 23
    },
    {
      "name": "tenant_id",
      "data_type": "bigint",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】租户 ID（品牌/商户 ID）。     【示例】2790683160709957（用于租户 ID（品牌/商户 ID））。          【JSON字段】group_buy_packages.json - data.packageCouponList - tenant_id。",
      "ordinal_position": 24
    },
    {
      "name": "card_type_ids",
      "data_type": "jsonb",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】原意是“适用会员卡类型 ID 列表”，例如某套餐只允许某几种会员卡使用，可以在此配置。     【示例】0（用于原意是“适用会员卡类型 ID 列表”，例如某套餐只允许某几种会员卡使用，可以在此配置）。          【JSON字段】group_buy_packages.json - data.packageCouponList - card_type_ids。",
      "ordinal_position": 25
    },
    {
      "name": "group_type",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】来自 JSON 导出的原始字段，用于保留业务取值。     【示例】1（来自 JSON 导出的原始字段，用于保留业务取值。）。          【JSON字段】group_buy_packages.json - data.packageCouponList - group_type。",
      "ordinal_position": 26
    },
    {
      "name": "system_group_type",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】来自 JSON 导出的原始字段，用于保留业务取值。     【示例】1（来自 JSON 导出的原始字段，用于保留业务取值。）。          【JSON字段】group_buy_packages.json - data.packageCouponList - system_group_type。",
      "ordinal_position": 27
    },
    {
      "name": "type",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】内部业务子类型，具体含义需要结合系统文档。     【示例】2（用于内部业务子类型，具体含义需要结合系统文档）。          【JSON字段】group_buy_packages.json - data.packageCouponList - type。",
      "ordinal_position": 28
    },
    {
      "name": "effective_status",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】1：13 条。     【示例】1（用于1：13 条）。          【JSON字段】group_buy_packages.json - data.packageCouponList - effective_status。",
      "ordinal_position": 29
    },
    {
      "name": "is_enabled",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】启用状态。     【示例】1（用于启用状态）。          【JSON字段】group_buy_packages.json - data.packageCouponList - is_enabled。",
      "ordinal_position": 30
    },
    {
      "name": "is_delete",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】逻辑删除标志。     【示例】0（用于逻辑删除标志）。          【JSON字段】group_buy_packages.json - data.packageCouponList - is_delete。",
      "ordinal_position": 31
    },
    {
      "name": "max_selectable_categories",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】来自 JSON 导出的原始字段，用于保留业务取值。     【示例】0（来自 JSON 导出的原始字段，用于保留业务取值）。          【JSON字段】group_buy_packages.json - data.packageCouponList - max_selectable_categories。",
      "ordinal_position": 32
    },
    {
      "name": "area_tag_type",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】1 很可能代表“按台区标签限制”，例如 A区、中八区、包厢、KTV 等。     【示例】1（用于1 很可能代表“按台区标签限制”，例如 A区、中八区、包厢、KTV 等）。          【JSON字段】group_buy_packages.json - data.packageCouponList - area_tag_type。",
      "ordinal_position": 33
    },
    {
      "name": "creator_name",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】创建人信息，一般包含“角色：姓名”。     【示例】店长:郑丽珊（用于创建人信息，一般包含“角色：姓名”）。          【JSON字段】group_buy_packages.json - data.packageCouponList - creator_name。",
      "ordinal_position": 34
    },
    {
      "name": "create_time",
      "data_type": "timestamp without time zone",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】该套餐在系统中创建的时间。     【示例】2025-10-27 18:24:09（用于该套餐在系统中创建的时间）。          【JSON字段】group_buy_packages.json - data.packageCouponList - create_time。",
      "ordinal_position": 35
    },
    {
      "name": "is_first_limit",
      "data_type": "boolean",
      "is_nullable": true,
      "column_default": null,
      "comment": null,
      "ordinal_position": 36
    },
    {
      "name": "sort",
      "data_type": "integer",
      "is_nullable": true,
      "column_default": null,
      "comment": null,
      "ordinal_position": 37
    },
    {
      "name": "tenantcouponsaleorderitemid",
      "data_type": "bigint",
      "is_nullable": true,
      "column_default": null,
      "comment": null,
      "ordinal_position": 38
    },
    {
      "name": "content_hash",
      "data_type": "text",
      "is_nullable": false,
      "column_default": null,
      "comment": null,
      "ordinal_position": 39
    },
    {
      "name": "source_file",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】ETL 元数据：原始导出文件名，用于数据追溯。     【示例】group_buy_packages.json（ETL 元数据：原始导出文件名，用于数据追溯）。          【JSON字段】group_buy_packages.json - ETL元数据 - 无。",
      "ordinal_position": 40
    },
    {
      "name": "source_endpoint",
      "data_type": "text",
      "is_nullable": true,
      "column_default": null,
      "comment": "【说明】ETL 元数据：采集来源（接口/文件路径），用于数据追溯。     【示例】export/test-json-doc/group_buy_packages.json（ETL 元数据：采集来源（接口/文件路径），用于数据追溯）。          【JSON字段】group_buy_packages.json - ETL元数据 - 无。",
      "ordinal_position": 41
    },
    {
      "name": "fetched_at",
      "data_type": "timestamp with time zone",
      "is_nullable": true,
      "column_default": "now()",
      "comment": "【说明】ETL 元数据：采集/入库时间戳，用于口径对齐与增量处理。     【示例】2025-11-10T00:00:00+08:00（ETL 元数据：采集/入库时间戳，用于口径对齐与增量处理）。          【JSON字段】group_buy_packages.json - ETL元数据 - 无。",
      "ordinal_position": 42
    },
    {
      "name": "payload",
      "data_type": "jsonb",
      "is_nullable": false,
      "column_default": null,
      "comment": "【说明】完整原始 JSON 记录快照，用于回溯与二次解析。     【示例】{...}（完整原始 JSON 记录快照，用于回溯与二次解析）。          【JSON字段】group_buy_packages.json - data.packageCouponList - $。",
      "ordinal_position": 43
    }
  ]
}