Skip to main content

Reports v2 — QA Test URL Sheet (2026-05-01)

Purpose: complete URL list for QA validation of the Gold-Standard Reporting workstream (Phases 1+2 + Phase 3 Waves 1-2). Use this sheet alongside the master plan index at superpowers/plans/2026-04-30-gold-standard-reporting-master-index.md.

QA hostname: http://43.204.247.178 (KeyNova QA EC2). Login: admin@hmphotel.com / <REDACTED>.

Top-level routes — surface area​

URLWhat to verify
http://43.204.247.178/reports308 redirect → /reports/v2 (legacy index deleted)
http://43.204.247.178/reports/v2Catalog card grid — 60 cards across 13 categories
http://43.204.247.178/reports/v2/savedSaved Views index (own + shared, search, pin toggle, delete)
http://43.204.247.178/anomaliesAnomaly index (sortable CRITICAL→HIGH→MEDIUM→LOW; dismiss action; toggle dismissed)
http://43.204.247.178/settings/reportingOnboarding wizard (Detect Prior PMS → Manual Upload → Annual Budget → Progress Strip)
http://43.204.247.178/revenue-manager4 embedded RM cards (Forecast Pace, Front Office Pace, Rate Plan Performance, Block & Group Performance)
http://43.204.247.178/Home — <PinnedReportsWidget> shows up to 4 pinned saved views (renders nothing if user has none)

After login, click Manage → Reports in the sidebar. The parent now navigates to /reports/v2. Children in order:

  1. Catalog → /reports/v2
  2. Saved Views → /reports/v2/saved
  3. Anomalies → /anomalies
  4. Reporting Setup → /settings/reporting
  5. Cash Management → /cash-management
  6. Owner Portal → /owner-portal

All 60 reports — direct URLs​

URL pattern: http://43.204.247.178/reports/v2/<reportId>

Reservations (9)​

ReportURL
Arrival Report/reports/v2/arrival-report
Departure Report/reports/v2/departure-report
Booking Report/reports/v2/booking-report
Booking Enquiry Report/reports/v2/booking-enquiry-report
Cancelled Reservation Report/reports/v2/cancelled-reservation-report
No-Show Reservation Report/reports/v2/no-show-reservation-report
Pickup Report/reports/v2/pickup-report
Release Reservation Report/reports/v2/release-reservation-report
Void Reservation Report/reports/v2/void-reservation-report

Front Office (6)​

ReportURL
Occupancy Report/reports/v2/occupancy-report
In-House Report/reports/v2/in-house-report
Guest Checked-In Report/reports/v2/guest-checked-in-report
Guest Checked-Out Report/reports/v2/guest-checked-out-report
High Balance Report/reports/v2/high-balance-report
Manager Flash Report/reports/v2/manager-flash-report

Housekeeping (4)​

ReportURL
Discrepancy Report/reports/v2/discrepancy-report
Housekeeping Productivity/reports/v2/housekeeping-productivity
Lost & Found Register/reports/v2/lost-and-found-register
Room Status Detail/reports/v2/room-status-detail

Night Audit (1)​

ReportURL
Night Audit Report/reports/v2/night-audit-report

Finance (14)​

ReportURL
Daily Revenue/reports/v2/revenue-daily-report
Monthly Revenue/reports/v2/revenue-monthly-report
Sale Register/reports/v2/sale-register
Folio Register/reports/v2/folio-register
Payment Collection Report/reports/v2/payment-collection-report
Refund Register/reports/v2/refund-register
Settlement Register/reports/v2/settlement-register
Cash Drawer Report/reports/v2/cash-drawer-report
AR Ageing Report/reports/v2/ageing-report
AR Aging Detail/reports/v2/ar-aging-detail
City Ledger Report/reports/v2/city-ledger-report
Commission Report/reports/v2/commission-report
Commission Statement/reports/v2/commission-statement
Expense Report/reports/v2/expense-report
GST Report/reports/v2/gst-report
E-Invoice Report/reports/v2/einvoice-report
Tax Audit Trail/reports/v2/tax-audit-trail

POS (6)​

ReportURL
POS Sales Register/reports/v2/pos-sales-register
Item-Wise Sales/reports/v2/item-wise-sales
KOT Register/reports/v2/kot-register
Discount Register/reports/v2/discount-register
Void Register/reports/v2/void-register
Server Productivity/reports/v2/server-productivity

Banquet (1)​

ReportURL
Banquet Sales Detail/reports/v2/banquet-sales-detail

Spa (1)​

ReportURL
Spa Service Sales Detail/reports/v2/spa-service-sales-detail

Channel (4)​

ReportURL
Channel Production/reports/v2/channel-production
OTA Commission Statement Detail/reports/v2/ota-commission-statement-detail
Rate Parity Audit/reports/v2/rate-parity-audit
Channel Sync Log/reports/v2/sync-log-report

Analytics (4)​

ReportURL
Country-Wise Statistics/reports/v2/country-wise-statistics
Market Segment Report/reports/v2/market-segment-report
Room Type Revenue/reports/v2/room-type-revenue-report
Source-Wise Revenue/reports/v2/source-wise-revenue-report

Revenue Management (4)​

ReportURL
Forecast Pace Report/reports/v2/forecast-pace-report
Front Office Pace/reports/v2/front-office-pace
Rate Plan Performance/reports/v2/rate-plan-performance
Block & Group Performance/reports/v2/block-group-performance

Operational (4)​

ReportURL
Meal Plan Report/reports/v2/meal-plan-report
Room Status Report/reports/v2/room-status-report
Police Register/reports/v2/police-register
FRRO C-Form/reports/v2/frro-c-form

Audit (2)​

ReportURL
User Activity Audit/reports/v2/user-activity-audit
Role Change Audit/reports/v2/role-change-audit

Per-report runner — what to verify​

For each URL under /reports/v2/<reportId>, smoke-check:

  1. Page mounts — header zone, period selector, compare flags, table renders.
  2. Period selector works — Today / Yesterday / WTD / MTD / YTD / Custom (date range inputs appear when Custom is selected).
  3. Compare flags — toggle "vs Last Year", "vs Budget", "vs Forecast" — <ComparativeCell> rows appear with deltas. Where data is missing, reason badges show: NO_LY_DATA, NO_BUDGET_UPLOADED, WARMING_UP.
  4. Drill-down — click a drillable cell → <DrillDownDrawer> slides in with nested <ReportTable>. Stack supports going N levels deep with back button.
  5. Export dropdown — click Export → PDF / XLSX / CSV. Each opens a presigned S3 URL (or downloads a base64 blob fallback).
  6. Star / Save View — click the star → <SaveViewModal> opens. Fill name, toggle Pin to Home (optional), submit. Then /reports/v2/saved should list the new view, and home <PinnedReportsWidget> should pick it up if pinned.
  7. AnomalyBanner — when the period contains HIGH/CRITICAL anomalies, a banner appears above the table linking to /anomalies.

Phase 3 special verifications​

Plan 3.1 — Anomaly Detection (cron at 04:30 UTC)​

  • After 1st cron tick (or trigger manually if needed): MvAnomaly rows populate.
  • /anomalies lists them sorted by severity. Dismiss action soft-deletes (dismissedAt populated). Toggle "show dismissed" reveals them.
  • Banner appears on report pages whose period contains a HIGH/CRITICAL anomaly.

Plan 3.2 — Predictive Forecasting (Prophet sidecar)​

  • forecast-pace-report and any compare-flags=forecast queries call ForecastEnricher.
  • If model hasn't trained yet (cold start), reason code is WARMING_UP (90-day training horizon needed).
  • Sidecar service: hmp-forecast-sidecar on port 3017.

Plan 3.4 — Saved Views​

  • Owner can create/edit/delete own views.
  • ADMIN/SUPER_ADMIN can create shared views (visible to all tenant users).
  • Pinned views appear on / home up to 4 max.
  • Schedule field in the model — UI scheduling UX deferred to Plan 3.4 follow-up.

Reports v2 backend smoke​

Direct API calls (substitute JWT and tenant headers):

# Catalog (60 reports)
curl -H "Authorization: Bearer $TOKEN" -H "X-Tenant-Id: $TID" -H "X-Property-Id: $PID" \
http://43.204.247.178/api/reports/v2/catalog | jq '.data | length'

# Run a report
curl -X POST -H "Authorization: Bearer $TOKEN" -H "X-Tenant-Id: $TID" -H "X-Property-Id: $PID" \
-H "Content-Type: application/json" \
-d '{"period":{"type":"mtd"}}' \
http://43.204.247.178/api/reports/v2/arrival-report/run | jq

# Saved views
curl -H "Authorization: Bearer $TOKEN" -H "X-Tenant-Id: $TID" -H "X-Property-Id: $PID" \
http://43.204.247.178/api/reports/v2/saved-views | jq

# Anomalies
curl -H "Authorization: Bearer $TOKEN" -H "X-Tenant-Id: $TID" -H "X-Property-Id: $PID" \
http://43.204.247.178/api/anomalies | jq

Known limitations​

  • Old PMS data import — onboarding wizard Step 2 (Manual Upload) gracefully shows "API not ready" message; full backfill pipeline is Plan 9 v2.
  • Forecasts — first 90 days of operation return WARMING_UP reason; needs training data.
  • Comp-Set / Cross-Tenant Benchmarks / Mobile Owner PWA / Voice NLQ — Phase 3 Waves 3-5, deferred (vendor / legal / new-repo gates).