// Hotel Walks — Guest-facing cancellation page. // Standalone page (no app chrome). Linked from the walk letter or a guest SMS. // Standardised verbiage: "Under the circumstances, the hotel has released your // obligation to return…" (function() { const { useState } = React; const { Caps, Btn, Pill, Hr, money } = window.UI; const { SmartKey, Lockup } = window.HW; const { ME, SENT } = window.HW_DATA; function Guest({ id }) { // Fake: tie the page to W-77412 (Maya Klein, sent to 1 Hotel Brooklyn Bridge) const walk = SENT.find(w => w.id === id) || SENT[0]; const [choice, setChoice] = useState(null); // null | "return" | "cancel" | "done" if (choice === "done") { const word = (walk.id === "_") ? "return" : (walk._lastChoice || ""); return (
Thank you.

{ME.property.name} has been notified of your choice. A confirmation has been sent to the email on your reservation.

setChoice(null)}>← Change my answer
); } return (
{/* Letterhead */}
{ME.property.name}
{ME.property.area}
{/* Salutation */}
A note for the guest of
{walk.guest.name}
{/* The verbiage */}

Under the circumstances, the hotel has released your obligation to return to the hotel for the remainder of your reservation. Please select whether you will be returning on {" "}{formatDate(walk.guest.arrival)}, or if you would like to cancel the remaining dates of your reservation at no charge.

{/* Reservation summary */}
{/* Choices */}
Choose one
setChoice("return")} /> setChoice("cancel")} />
A confirmation will be sent to the email on your reservation. You can change this answer up until your scheduled arrival.
{ walk._lastChoice = choice; setChoice("done"); }}> Confirm my answer
{/* Footer note */}
); } function ChoiceCard({ label, sub, selected, onClick }) { return ( ); } function Sm({ k, v, mono }) { return (
{k}
{v}
); } function Page({ children }) { return (
{children}
); } function formatDate(iso) { if (!iso) return "—"; try { const d = new Date(iso + "T00:00:00"); return d.toLocaleDateString(undefined, { weekday: "long", month: "long", day: "numeric" }); } catch (e) { return iso; } } window.Screens = window.Screens || {}; window.Screens.Guest = Guest; })();