Skip to content

Feature/pms platform - #3

Merged
Almondsf merged 5 commits into
masterfrom
feature/pms-platform
Oct 15, 2026
Merged

Almondsf merged 5 commits into
masterfrom
feature/pms-platform

Conversation

@Almondsf

Copy link
Copy Markdown
Owner

No description provided.

Managers and accountants can give a discount (an allowance: a negative charge whose taxes are reduced to match). Online payments show a Refund to card action while the guest is in credit, which refunds through the payment gateway; they are no longer offered for voiding, since that would leave the card charged. Folio payments now include their gateway transaction (prefetched). Docs updated.
Guest booking
- Check availability ranks rooms for the party: closest fit first (fewest
  spare places), then the lowest price; the top result is "Best match"
- Parties too big for one room get up to three group plans (Best value,
  Fewest rooms, Most space) with a suggested split of the party, and the
  regular room list still shows underneath
- A group plan is booked online in one checkout: all rooms held under one
  BookingGroup, one gateway payment split across each room's folio, all
  rooms confirmed together or the whole payment refunded
- Search inputs accept groups (up to 30 adults, 10 children)

Demo data
- 8 room types (Classic Single to Presidential Suite), 22 rooms
- seed_demo creates an administrator, admin@demo.hotel
- The demo out-of-order room is never the only room of its type

Staff portal
- Night audit: check out the guests blocking the close in place
- Exports download as files and invoice PDFs open in a tab opened during
  the click (pop-up blockers stopped the old approach); errors are shown
- Staff menu folds behind a Menu button on phones and small tablets
- Company statements show when each bill was transferred

Quality
- Playwright browser suite (frontend/e2e) covering the main screens,
  run in CI against real servers and a seeded hotel
- Every endpoint is documented in the OpenAPI schema; CI fails on any
  schema warning. The gateway field always lists the supported gateways
  and rejects ones without credentials
- CI actions moved to their Node 24 versions
- Removed the unused profiles app
- Docs updated: system overview, user stories, README
A leftover signed-in state from an early browser-test run (local throwaway database, token already rotated) was committed by mistake.
Headless Chromium has no PDF viewer, so check the tab opens and the PDF is served instead of the tab URL; pick the housekeeping row that is actually in progress, as a room can have two tasks.
@Almondsf
Almondsf merged commit d8a8382 into master Oct 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant