| check | severity | result | observed |
|---|
| freshness.booking_legacy | hard | pass | newest row 2026-08-01 (0h old) |
| freshness.booking_acquired | hard | pass | newest row 2026-08-01 (0h old) |
| freshness.square_settlements | hard | pass | newest row 2026-07-31 (24h old) |
| freshness.stripe_payouts | hard | pass | newest row 2026-08-01 (0h old) |
| freshness.expenses | soft | pass | newest row 2026-07-31 (24h old) |
| freshness.vendor_payments | soft | pass | newest row 2026-08-01 (0h old) |
| freshness.cancellation_log | soft | pass | newest row 2026-08-01 (0h old) |
| volume.booking_legacy | soft | pass | 2 rows on 2026-08-01, median 46 |
| volume.booking_acquired | soft | pass | 3 rows on 2026-08-01, median 33 |
| volume.square_settlements | soft | pass | 48 rows on 2026-07-31, median 42 |
| control_total.rows_staged | hard | pass | 76,355 rows staged |
| control_total.fee_plausibility | hard | pass | every processing fee is below the amount that moved |
| nulls.stg_appointment | hard | pass | 38,851 rows, no nulls in required columns |
| nulls.stg_payment | hard | pass | 28,669 rows, no nulls in required columns |
| nulls.stg_expense | hard | pass | 1,331 rows, no nulls in required columns |
| nulls.stg_vendor_payment | hard | pass | 736 rows, no nulls in required columns |
| nulls.stg_cancellation_entry | hard | pass | 6,673 rows, no nulls in required columns |
| duplicate_keys.stg_appointment | hard | pass | appointment_id unique across 38,851 rows |
| duplicate_keys.stg_payment | hard | pass | payment_id unique across 28,669 rows |
| duplicate_keys.stg_expense | hard | pass | expense_id unique across 1,331 rows |
| duplicate_keys.stg_vendor_payment | hard | pass | payment_ref unique across 736 rows |
| rejects.unread_rows | hard | pass | every row of all 209 live files was read |
| referential.location_id | hard | pass | all recognised |
| referential.service_code | hard | pass | all recognised |
| referential.gl_code | hard | pass | all recognised |