{
  "mode": "window",
  "window": {
    "start": "2026-01-27T03:44:19+08:00",
    "end": "2026-01-27T08:44:19+08:00",
    "segments": 1
  },
  "windows": [
    {
      "mode": "window",
      "window": {
        "start": "2026-01-27T03:44:19+08:00",
        "end": "2026-01-27T08:44:19+08:00",
        "label": "segment_1",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2026-01-27T03:44:19+08:00",
        "end": "2026-01-27T08:44:19+08:00",
        "cutoff": null,
        "window_days": 0,
        "window_hours": 5,
        "page_size": 200,
        "chunk_size": 500,
        "sample_limit": 50,
        "store_id": 2790685415443269,
        "base_url": "https://pc.ficoo.vip/apiprod/admin/v1/",
        "results": [
          {
            "task_code": "ODS_ASSISTANT_ACCOUNT",
            "table": "billiards_ods.assistant_accounts_master",
            "endpoint": "/PersonnelManagement/SearchAssistantInfo",
            "pk_columns": [
              "id"
            ],
            "records": 69,
            "records_with_pk": 69,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_RECORDS",
            "table": "billiards_ods.settlement_records",
            "endpoint": "/Site/GetAllOrderSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 3,
            "records_with_pk": 3,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3068721501554821
              }
            ],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_USE",
            "table": "billiards_ods.table_fee_transactions",
            "endpoint": "/Site/GetSiteTableOrderDetails",
            "pk_columns": [
              "id"
            ],
            "records": 10025,
            "records_with_pk": 10025,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3068721549396165
              }
            ],
            "pages": 51,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_LEDGER",
            "table": "billiards_ods.assistant_service_records",
            "endpoint": "/AssistantPerformance/GetOrderAssistantDetails",
            "pk_columns": [
              "id"
            ],
            "records": 4,
            "records_with_pk": 4,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3068721549789381
              }
            ],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_ASSISTANT_ABOLISH",
            "table": "billiards_ods.assistant_cancellation_records",
            "endpoint": "/AssistantPerformance/GetAbolitionAssistant",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS_SALES",
            "table": "billiards_ods.store_goods_sales_records",
            "endpoint": "/TenantGoods/GetGoodsSalesList",
            "pk_columns": [
              "id"
            ],
            "records": 0,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PAYMENT",
            "table": "billiards_ods.payment_transactions",
            "endpoint": "/PayLog/GetPayLogListPage",
            "pk_columns": [
              "id"
            ],
            "records": 11859,
            "records_with_pk": 11859,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3068721545955525
              }
            ],
            "pages": 60,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_REFUND",
            "table": "billiards_ods.refund_transactions",
            "endpoint": "/Order/GetRefundPayLogList",
            "pk_columns": [
              "id"
            ],
            "records": 38,
            "records_with_pk": 38,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_PLATFORM_COUPON",
            "table": "billiards_ods.platform_coupon_redemption_records",
            "endpoint": "/Promotion/GetOfflineCouponConsumePageList",
            "pk_columns": [
              "id"
            ],
            "records": 17031,
            "records_with_pk": 17031,
            "missing": 0,
            "missing_samples": [],
            "pages": 86,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER",
            "table": "billiards_ods.member_profiles",
            "endpoint": "/MemberProfile/GetTenantMemberList",
            "pk_columns": [
              "id"
            ],
            "records": 556,
            "records_with_pk": 556,
            "missing": 0,
            "missing_samples": [],
            "pages": 3,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_CARD",
            "table": "billiards_ods.member_stored_value_cards",
            "endpoint": "/MemberProfile/GetTenantMemberCardList",
            "pk_columns": [
              "id"
            ],
            "records": 945,
            "records_with_pk": 945,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_MEMBER_BALANCE",
            "table": "billiards_ods.member_balance_changes",
            "endpoint": "/MemberProfile/GetMemberCardBalanceChange",
            "pk_columns": [
              "id"
            ],
            "records": 2485,
            "records_with_pk": 2485,
            "missing": 2,
            "missing_samples": [
              {
                "id": 3068721546709189
              },
              {
                "id": 3068721546512581
              }
            ],
            "pages": 13,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_RECHARGE_SETTLE",
            "table": "billiards_ods.recharge_settlements",
            "endpoint": "/Site/GetRechargeSettleList",
            "pk_columns": [
              "id"
            ],
            "records": 1,
            "records_with_pk": 1,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_PACKAGE",
            "table": "billiards_ods.group_buy_packages",
            "endpoint": "/PackageCoupon/QueryPackageCouponList",
            "pk_columns": [
              "id"
            ],
            "records": 18,
            "records_with_pk": 18,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GROUP_BUY_REDEMPTION",
            "table": "billiards_ods.group_buy_redemption_records",
            "endpoint": "/Site/GetSiteTableUseDetails",
            "pk_columns": [
              "id"
            ],
            "records": 8222,
            "records_with_pk": 8222,
            "missing": 0,
            "missing_samples": [],
            "pages": 42,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_STOCK",
            "table": "billiards_ods.goods_stock_summary",
            "endpoint": "/TenantGoods/GetGoodsStockReport",
            "pk_columns": [
              "sitegoodsid"
            ],
            "records": 170,
            "records_with_pk": 170,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_INVENTORY_CHANGE",
            "table": "billiards_ods.goods_stock_movements",
            "endpoint": "/GoodsStockManage/QueryGoodsOutboundReceipt",
            "pk_columns": [
              "sitegoodsstockid"
            ],
            "records": 4,
            "records_with_pk": 4,
            "missing": 1,
            "missing_samples": [
              {
                "sitegoodsstockid": 3068730254100741
              }
            ],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLES",
            "table": "billiards_ods.site_tables_master",
            "endpoint": "/Table/GetSiteTables",
            "pk_columns": [
              "id"
            ],
            "records": 74,
            "records_with_pk": 74,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_GOODS_CATEGORY",
            "table": "billiards_ods.stock_goods_category_tree",
            "endpoint": "/TenantGoodsCategory/QueryPrimarySecondaryCategory",
            "pk_columns": [
              "id"
            ],
            "records": 9,
            "records_with_pk": 9,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_STORE_GOODS",
            "table": "billiards_ods.store_goods_master",
            "endpoint": "/TenantGoods/GetGoodsInventoryList",
            "pk_columns": [
              "id"
            ],
            "records": 170,
            "records_with_pk": 170,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TABLE_FEE_DISCOUNT",
            "table": "billiards_ods.table_fee_discount_records",
            "endpoint": "/Site/GetTaiFeeAdjustList",
            "pk_columns": [
              "id"
            ],
            "records": 1752,
            "records_with_pk": 1752,
            "missing": 0,
            "missing_samples": [],
            "pages": 9,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_TENANT_GOODS",
            "table": "billiards_ods.tenant_goods_master",
            "endpoint": "/TenantGoods/QueryTenantGoods",
            "pk_columns": [
              "id"
            ],
            "records": 171,
            "records_with_pk": 171,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 0,
            "errors": 0,
            "error_detail": null
          },
          {
            "task_code": "ODS_SETTLEMENT_TICKET",
            "table": "billiards_ods.settlement_ticket_details",
            "endpoint": "/Order/GetOrderSettleTicketNew",
            "pk_columns": [
              "ordersettleid"
            ],
            "records": 4,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 1,
            "skipped_missing_pk": 4,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 7,
        "total_errors": 0,
        "generated_at": "2026-01-27T06:46:27.649849+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dim_site",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 1,
              "ods": 18471,
              "diff": -18470
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_site_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 2,
              "diff": -2
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_table_ex",
            "ods_table": "billiards_ods.site_tables_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 74,
              "ods": 74,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 69,
              "ods": 69,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_assistant_ex",
            "ods_table": "billiards_ods.assistant_accounts_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_ex",
            "ods_table": "billiards_ods.member_profiles",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 556,
              "ods": 556,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 945,
              "ods": 945,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance",
                "dwd_sum": 413038.35,
                "ods_sum": 413038.35,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_member_card_account_ex",
            "ods_table": "billiards_ods.member_stored_value_cards",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "deliveryfeededuct",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_tenant_goods_ex",
            "ods_table": "billiards_ods.tenant_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 171,
              "ods": 171,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 170,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_store_goods_ex",
            "ods_table": "billiards_ods.store_goods_master",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 170,
              "ods": 170,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_goods_category",
            "ods_table": "billiards_ods.stock_goods_category_tree",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 26,
              "ods": 9,
              "diff": 17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dim_groupbuy_package_ex",
            "ods_table": "billiards_ods.group_buy_packages",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 34,
              "ods": 34,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23441,
              "diff": -75
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23366,
              "ods": 23441,
              "diff": -75
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 2,
              "diff": -2
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 749.43,
                "diff": -749.43
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 0.0,
                "ods_sum": 749.43,
                "diff": -749.43
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18386,
              "ods": 18471,
              "diff": -85
            },
            "amounts": [
              {
                "column": "fee_total",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "mgmt_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "used_card_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2866,
              "diff": -17
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 329604.44,
                "ods_sum": 332217.42,
                "diff": -2612.9799999999814
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2849,
              "ods": 2866,
              "diff": -17
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "cost_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "real_goods_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_store_goods_sale_ex",
            "ods_table": "billiards_ods.store_goods_sales_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 17563,
              "ods": 17563,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "discount_money",
                "dwd_sum": 21673.2,
                "ods_sum": 21673.2,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "option_member_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "point_discount_money_cost",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "push_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 3,
              "diff": -3
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 1597.51,
                "diff": -1597.51
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 5003,
              "ods": 5027,
              "diff": -24
            },
            "amounts": [
              {
                "column": "manual_discount_amount",
                "dwd_sum": 414.17,
                "ods_sum": 414.17,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "service_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 98,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_trash_event_ex",
            "ods_table": "billiards_ods.assistant_cancellation_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 98,
              "ods": 98,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4768,
              "diff": -23
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4745,
              "ods": 4768,
              "diff": -23
            },
            "amounts": [
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_groupbuy_redemption_ex",
            "ods_table": "billiards_ods.group_buy_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 11427,
              "ods": 11489,
              "diff": -62
            },
            "amounts": [
              {
                "column": "assistant_promotion_money",
                "dwd_sum": 7544.8,
                "ods_sum": 7544.8,
                "diff": 0.0
              },
              {
                "column": "assistant_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "goods_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "recharge_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "reward_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "table_service_promotion_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_platform_coupon_redemption_ex",
            "ods_table": "billiards_ods.platform_coupon_redemption_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 16977,
              "ods": 17031,
              "diff": -54
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 457,
              "diff": -2
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 455,
              "ods": 457,
              "diff": -2
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 0,
              "ods": 3,
              "diff": -3
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 0.0,
                "ods_sum": 3000.0,
                "diff": -3000.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 0,
              "ods": 0,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund_ex",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 45,
              "ods": 45,
              "diff": 0
            },
            "amounts": [
              {
                "column": "balance_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "card_frozen_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "refund_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "round_amount",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              }
            ]
          }
        ],
        "total_count_diff": -18922
      },
      "generated_at": "2026-01-27T06:46:33.941851+08:00"
    }
  ],
  "api_to_ods": {
    "total_missing": 7,
    "total_errors": 0
  },
  "total_missing": 7,
  "total_errors": 0,
  "generated_at": "2026-01-27T06:46:33.941872+08:00"
}
