Reservation financials panel
The FINANCIALS panel on the reservation detail drawer breaks out the money: gross revenue, channel fees, discounts, owner share, cleaning fee, city tax.
What's on the panel
| Row | What |
|---|---|
| Gross revenue | Total amount the guest paid (or owes) |
| Channel fee | Booking.com / Airbnb commission (when applicable) |
| Booking discount (gh#668) | Promotion discount applied by the platform — e.g. "Promotion Discount -€54.40" |
| Net revenue | Gross minus channel fee minus discount |
| Cleaning fee | Per-stay cleaning charge |
| City tax | Per-night per-guest |
| Owner share | Configured % × Net (per per-property management fee) |
| Platform share | Net minus Owner share |
Booking discount (gh#668)
Hospitable's financialsJson.guest.discounts[] is already stored — promotion discounts, smart-pricing discounts, member discounts. Earlier the platform stored the data but didn't render it — operator saw a "missing money" gap between Gross and Net with no explanation.
After gh#668, the discount row renders with the same line item the platform sent (e.g. "Promotion Discount -€54.40"). If the row is missing, the discount isn't material on this reservation.
Guest breakdown (gh#671)
Below FINANCIALS, the RESERVATION panel shows the guest composition:
| Field | What |
|---|---|
| Adults | Number of adults (from rawJson.guests.adult_count) |
| Children | Number of children (child_count) |
| Infants | Number of infants (infant_count) |
| Pets | Number of pets (pet_count) |
Earlier (pre-gh#671) only the total "N guests" was shown — 74 reservations had children on prod with no operator-visible indication. After gh#671 the breakdown renders inline.
This matters because:
- Cleaner can prep the right bed configuration (crib for infant, bunk for kids).
- Welcome message can address "your family" appropriately.
- City tax computes against adult count (not infants).
Guest book buttons (gh#559)
The reservation panel now has Open Guest Book + Regenerate Guest Book buttons (gh#559 — earlier V28 had no surface for the legacy SmartAccessCard's guest-book affordances; operator had to bounce to legacy).
- Open Guest Book — opens the guest's personalized landing page in a new tab.
- Regenerate Guest Book — rebuilds the page if operator edits property content + wants the guest's link to reflect.
Implements: gh#668 (booking discount in FINANCIALS panel), gh#671 (guest breakdown adults/children/infants/pets), gh#559 (Open / Regenerate Guest Book buttons).