{
  "mode": "window",
  "window": {
    "start": "2026-01-19T19:14:15+08:00",
    "end": "2026-01-25T00:14:15+08:00",
    "segments": 1
  },
  "windows": [
    {
      "mode": "window",
      "window": {
        "start": "2026-01-19T19:14:15+08:00",
        "end": "2026-01-25T00:14:15+08:00",
        "label": "segment_1",
        "granularity": "window"
      },
      "api_to_ods": {
        "window_split_unit": "none",
        "window_compensation_hours": 0,
        "start": "2026-01-19T19:14:15+08:00",
        "end": "2026-01-25T00:14:15+08:00",
        "cutoff": null,
        "window_days": 5,
        "window_hours": 0,
        "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": 136,
            "records_with_pk": 136,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "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": 647,
            "records_with_pk": 647,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3065432416570181
              }
            ],
            "pages": 5,
            "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": 10037,
            "records_with_pk": 10037,
            "missing": 0,
            "missing_samples": [],
            "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": 179,
            "records_with_pk": 179,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "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": 5,
            "records_with_pk": 5,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "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": 11897,
            "records_with_pk": 11897,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3065432435575685
              }
            ],
            "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": 16861,
            "records_with_pk": 16861,
            "missing": 1,
            "missing_samples": [
              {
                "id": 3065433115265989
              }
            ],
            "pages": 85,
            "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": 555,
            "records_with_pk": 555,
            "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": 944,
            "records_with_pk": 944,
            "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": 2468,
            "records_with_pk": 2468,
            "missing": 0,
            "missing_samples": [],
            "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": 11,
            "records_with_pk": 11,
            "missing": 0,
            "missing_samples": [],
            "pages": 2,
            "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": 8253,
            "records_with_pk": 8253,
            "missing": 147,
            "missing_samples": [
              {
                "id": 3065424093170565
              },
              {
                "id": 3065417916025669
              },
              {
                "id": 3065416799013701
              },
              {
                "id": 3065412410543045
              },
              {
                "id": 3065410940308293
              },
              {
                "id": 3065410940308294
              },
              {
                "id": 3065402568903621
              },
              {
                "id": 3065400934321093
              },
              {
                "id": 3065400878271301
              },
              {
                "id": 3065400878287685
              },
              {
                "id": 3065392583019397
              },
              {
                "id": 3065392512322501
              },
              {
                "id": 3065389440453573
              },
              {
                "id": 3065389440453574
              },
              {
                "id": 3065384249494341
              },
              {
                "id": 3065379691055941
              },
              {
                "id": 3065373443803973
              },
              {
                "id": 3065373139897541
              },
              {
                "id": 3065358031375301
              },
              {
                "id": 3065355638344517
              },
              {
                "id": 3065349042424773
              },
              {
                "id": 3065346835385285
              },
              {
                "id": 3065320965507973
              },
              {
                "id": 3065307692174277
              },
              {
                "id": 3065304304421765
              },
              {
                "id": 3065304304421766
              },
              {
                "id": 3065284099279813
              },
              {
                "id": 3065274420841285
              },
              {
                "id": 3065259484433606
              },
              {
                "id": 3065250665761989
              },
              {
                "id": 3065245825715141
              },
              {
                "id": 3065225740176197
              },
              {
                "id": 3065210599214021
              },
              {
                "id": 3065203094653829
              },
              {
                "id": 3065199175404357
              },
              {
                "id": 3065185918520134
              },
              {
                "id": 3065184442436549
              },
              {
                "id": 3065182172924805
              },
              {
                "id": 3065177155554245
              },
              {
                "id": 3065177155554246
              },
              {
                "id": 3065160959527813
              },
              {
                "id": 3065093558455109
              },
              {
                "id": 3065077314112325
              },
              {
                "id": 3065077314112326
              },
              {
                "id": 3065069899680965
              },
              {
                "id": 3065054093741253
              },
              {
                "id": 3065054039657413
              },
              {
                "id": 3065053956721477
              },
              {
                "id": 3065024393562949
              },
              {
                "id": 3065020157463365
              }
            ],
            "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": 1004,
            "records_with_pk": 1004,
            "missing": 430,
            "missing_samples": [
              {
                "sitegoodsstockid": 3065245741796549
              },
              {
                "sitegoodsstockid": 3065241888689029
              },
              {
                "sitegoodsstockid": 3065230523976517
              },
              {
                "sitegoodsstockid": 3065228210048197
              },
              {
                "sitegoodsstockid": 3065228210244805
              },
              {
                "sitegoodsstockid": 3065223410305925
              },
              {
                "sitegoodsstockid": 3065222393892037
              },
              {
                "sitegoodsstockid": 3065222257380229
              },
              {
                "sitegoodsstockid": 3065211575290757
              },
              {
                "sitegoodsstockid": 3065208430349509
              },
              {
                "sitegoodsstockid": 3065208430972101
              },
              {
                "sitegoodsstockid": 3065202672733061
              },
              {
                "sitegoodsstockid": 3065202672569221
              },
              {
                "sitegoodsstockid": 3065192541162693
              },
              {
                "sitegoodsstockid": 3065184738905029
              },
              {
                "sitegoodsstockid": 3065183562517445
              },
              {
                "sitegoodsstockid": 3065179536886981
              },
              {
                "sitegoodsstockid": 3065177298717893
              },
              {
                "sitegoodsstockid": 3065174962277317
              },
              {
                "sitegoodsstockid": 3065174340258693
              },
              {
                "sitegoodsstockid": 3065169942875077
              },
              {
                "sitegoodsstockid": 3065169942399941
              },
              {
                "sitegoodsstockid": 3065165534743429
              },
              {
                "sitegoodsstockid": 3065161782332357
              },
              {
                "sitegoodsstockid": 3065152084118725
              },
              {
                "sitegoodsstockid": 3065146629835589
              },
              {
                "sitegoodsstockid": 3065145603378373
              },
              {
                "sitegoodsstockid": 3065144114351301
              },
              {
                "sitegoodsstockid": 3065143976283077
              },
              {
                "sitegoodsstockid": 3065142173993925
              },
              {
                "sitegoodsstockid": 3065132596923205
              },
              {
                "sitegoodsstockid": 3065131517791045
              },
              {
                "sitegoodsstockid": 3065131443555269
              },
              {
                "sitegoodsstockid": 3065131001809861
              },
              {
                "sitegoodsstockid": 3065128696630149
              },
              {
                "sitegoodsstockid": 3065117668412613
              },
              {
                "sitegoodsstockid": 3065115329662149
              },
              {
                "sitegoodsstockid": 3065109122304837
              },
              {
                "sitegoodsstockid": 3065106178493637
              },
              {
                "sitegoodsstockid": 3065093014571845
              },
              {
                "sitegoodsstockid": 3065091746991045
              },
              {
                "sitegoodsstockid": 3065091647278277
              },
              {
                "sitegoodsstockid": 3065090336164805
              },
              {
                "sitegoodsstockid": 3065090335689669
              },
              {
                "sitegoodsstockid": 3065089641745605
              },
              {
                "sitegoodsstockid": 3065089496714053
              },
              {
                "sitegoodsstockid": 3065088993397701
              },
              {
                "sitegoodsstockid": 3065088993889221
              },
              {
                "sitegoodsstockid": 3065087358733509
              },
              {
                "sitegoodsstockid": 3065041513286533
              }
            ],
            "pages": 6,
            "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": 1721,
            "records_with_pk": 1721,
            "missing": 39,
            "missing_samples": [
              {
                "id": 3065324486544325
              },
              {
                "id": 3065324486511557
              },
              {
                "id": 3065281420757957
              },
              {
                "id": 3065225880865605
              },
              {
                "id": 3065110094334789
              },
              {
                "id": 3064404466191301
              },
              {
                "id": 3064402686987077
              },
              {
                "id": 3064262805179333
              },
              {
                "id": 3064246571944837
              },
              {
                "id": 3064245835828165
              },
              {
                "id": 3064245835779013
              },
              {
                "id": 3064244105513925
              },
              {
                "id": 3064244105563077
              },
              {
                "id": 3064241885105093
              },
              {
                "id": 3064228079962949
              },
              {
                "id": 3064218902219973
              },
              {
                "id": 3064218046385349
              },
              {
                "id": 3064178963942213
              },
              {
                "id": 3064174046317509
              },
              {
                "id": 3064172743216069
              },
              {
                "id": 3064169279654853
              },
              {
                "id": 3064159579278213
              },
              {
                "id": 3064148606159813
              },
              {
                "id": 3064120615963845
              },
              {
                "id": 3064102418533317
              },
              {
                "id": 3064074573908933
              },
              {
                "id": 3064074573876165
              },
              {
                "id": 3064035698887877
              },
              {
                "id": 3064031616895813
              },
              {
                "id": 3063961039850373
              },
              {
                "id": 3063790926089093
              },
              {
                "id": 3062937796758981
              },
              {
                "id": 3062937039163013
              },
              {
                "id": 3062937039195781
              },
              {
                "id": 3062882662944261
              },
              {
                "id": 3062728738557573
              },
              {
                "id": 3062704209858117
              },
              {
                "id": 3062703566769669
              },
              {
                "id": 3062703566884358
              }
            ],
            "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": 664,
            "records_with_pk": 0,
            "missing": 0,
            "missing_samples": [],
            "pages": 5,
            "skipped_missing_pk": 664,
            "errors": 0,
            "error_detail": null,
            "source_endpoint": "/PayLog/GetPayLogListPage"
          }
        ],
        "total_missing": 619,
        "total_errors": 0,
        "generated_at": "2026-01-24T22:26:02.533790+08:00"
      },
      "ods_to_dwd": {
        "tables": [
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23183,
              "ods": 23183,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_settlement_head_ex",
            "ods_table": "billiards_ods.settlement_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 23183,
              "ods": 23183,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": true,
            "window_col": "create_time",
            "count": {
              "dwd": 589,
              "ods": 589,
              "diff": 0
            },
            "amounts": [
              {
                "column": "adjust_amount",
                "dwd_sum": 13116.82,
                "ods_sum": 13116.82,
                "diff": 0.0
              },
              {
                "column": "coupon_promotion_amount",
                "dwd_sum": 26829.58,
                "ods_sum": 26829.58,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 76782.02,
                "ods_sum": 76782.02,
                "diff": 0.0
              },
              {
                "column": "member_discount_amount",
                "dwd_sum": 2118.18,
                "ods_sum": 2118.18,
                "diff": 0.0
              },
              {
                "column": "real_table_charge_money",
                "dwd_sum": 35220.56,
                "ods_sum": 35220.56,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_log_ex",
            "ods_table": "billiards_ods.table_fee_transactions",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 18223,
              "ods": 18223,
              "diff": 0
            },
            "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": 2779,
              "ods": 2779,
              "diff": 0
            },
            "amounts": [
              {
                "column": "ledger_amount",
                "dwd_sum": 323227.69,
                "ods_sum": 323227.69,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_table_fee_adjust_ex",
            "ods_table": "billiards_ods.table_fee_discount_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 2779,
              "ods": 2779,
              "diff": 0
            },
            "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": 37,
              "ods": 179,
              "diff": -142
            },
            "amounts": [
              {
                "column": "coupon_deduct_money",
                "dwd_sum": 0.0,
                "ods_sum": 191.21,
                "diff": -191.21
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 12505.5,
                "ods_sum": 52789.73,
                "diff": -40284.23
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_assistant_service_log_ex",
            "ods_table": "billiards_ods.assistant_service_records",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4956,
              "ods": 4956,
              "diff": 0
            },
            "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": 97,
              "ods": 97,
              "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": 97,
              "ods": 97,
              "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": 4709,
              "ods": 4709,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_member_balance_change_ex",
            "ods_table": "billiards_ods.member_balance_changes",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 4709,
              "ods": 4709,
              "diff": 0
            },
            "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": 266,
              "ods": 266,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 18240.0,
                "ods_sum": 18240.0,
                "diff": 0.0
              },
              {
                "column": "ledger_amount",
                "dwd_sum": 17057.33,
                "ods_sum": 17057.33,
                "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": 11157,
              "ods": 11157,
              "diff": 0
            },
            "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": 412,
              "ods": 412,
              "diff": 0
            },
            "amounts": [
              {
                "column": "coupon_money",
                "dwd_sum": 27944.0,
                "ods_sum": 27944.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": 16860,
              "ods": 16860,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 453,
              "ods": 453,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_recharge_order_ex",
            "ods_table": "billiards_ods.recharge_settlements",
            "windowed": false,
            "window_col": null,
            "count": {
              "dwd": 453,
              "ods": 453,
              "diff": 0
            },
            "amounts": []
          },
          {
            "dwd_table": "billiards_dwd.dwd_payment",
            "ods_table": "billiards_ods.payment_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 662,
              "ods": 662,
              "diff": 0
            },
            "amounts": [
              {
                "column": "pay_amount",
                "dwd_sum": 99285.0,
                "ods_sum": 99285.0,
                "diff": 0.0
              }
            ]
          },
          {
            "dwd_table": "billiards_dwd.dwd_refund",
            "ods_table": "billiards_ods.refund_transactions",
            "windowed": true,
            "window_col": "pay_time",
            "count": {
              "dwd": 2,
              "ods": 2,
              "diff": 0
            },
            "amounts": [
              {
                "column": "channel_fee",
                "dwd_sum": 0.0,
                "ods_sum": 0.0,
                "diff": 0.0
              },
              {
                "column": "pay_amount",
                "dwd_sum": -7.0,
                "ods_sum": -7.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": -142
      },
      "generated_at": "2026-01-24T22:26:07.565369+08:00"
    }
  ],
  "api_to_ods": {
    "total_missing": 619,
    "total_errors": 0
  },
  "total_missing": 619,
  "total_errors": 0,
  "generated_at": "2026-01-24T22:26:07.565393+08:00"
}
