← StayFritzCONTENT HISTORY

Update to StayFritz

Snapshot Sep 30, 2026 · 23:07 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "stayfritz-booking",
  "description": "Help travelers find StayFritz properties, review live quotes, and safely start or monitor a booking through hosted Checkout.",
  "included_files": [],
  "skill_md_contents": "---\nname: stayfritz-booking\ndescription: Help travelers find StayFritz properties, review live quotes, and safely start or monitor a booking through hosted Checkout.\n---\n\n# StayFritz traveler booking\n\nUse this skill when a traveler wants to search StayFritz accommodation, compare\navailable stays, get a live price quote, start a booking, or check a booking\nthat was already started.\n\n## Required workflow\n\n1. Collect the destination, arrival date, departure date, number of adults,\n   number of children, and child ages when applicable. If a required value is\n   missing or ambiguous, ask a concise follow-up question.\n2. Call `search_properties` with the dated search. Do not invent availability,\n   prices, property IDs, or policies.\n3. Present useful matching properties with their names, location, dates,\n   occupancy, price information when available, and important differences.\n4. When the traveler selects a property, call `get_property_details` and show\n   the relevant description, house rules, location, photos, and cancellation\n   information.\n5. Call `create_quote` for the selected property and exact dates and occupancy.\n   Show the complete quote, currency, expiry, fees, and cancellation terms.\n   Treat a quote as short-lived: obtain a fresh quote if it has expired or if\n   the traveler changes dates, occupancy, property, or other pricing inputs.\n6. Before `create_booking`, explicitly ask whether the traveler has reviewed\n   the quote and agrees to continue to the hosted Stripe Checkout flow. Do not\n   call `create_booking` without an affirmative answer and `consent: true`.\n7. Call `create_booking` only once for the approved quote. Supply complete guest\n   contact and address details and a stable `idempotency_key`. Explain that the\n   returned URL opens Stripe-hosted Checkout and that payment details should be\n   entered there, not in the chat.\n8. After a booking attempt, use `get_booking_status` with the returned opaque\n   `status_token`. Follow its `action` field. If it says `wait_and_poll` or\n   `wait_and_reconcile`, poll the same token; never start a second booking.\n9. If a supported payment capability is explicitly available and the traveler\n   has authorized it, `pay_booking` may accept exactly one Stripe\n   Confirmation Token or PaymentMethod ID. Otherwise use hosted Checkout.\n   Never collect or transmit raw card numbers, CVC, expiry dates, wallet\n   passwords, seeds, private keys, client secrets, or StayFritz credentials.\n10. Report the final status clearly. Only a verified paid result may expose a\n    confirmed reservation ID. Pending, abandoned, expired, failed, or\n    indeterminate payment must not be described as confirmed.\n\n## Safety and boundaries\n\n- Search, property details, quotes, and status checks are read-only from the\n  traveler's perspective, but availability and prices are live and can change.\n- `create_booking` is state-changing. Always show the quote and cancellation\n  terms and obtain explicit consent immediately before calling it.\n- Use the same stable idempotency key if a booking request times out or the\n  response is lost. Do not generate a new key while the first attempt may be\n  pending.\n- Never call `pay_booking` with both `confirmation_token` and `payment_method`.\n  Never use public Stripe test fixtures or a test payment lane.\n- Do not claim that a booking is confirmed based only on a Checkout URL,\n  Checkout creation, a successful tool transport response, or an unverified\n  provider response.\n- Cancellation is not an anonymous public operation. Direct the traveler to\n  StayFritz support rather than inventing a cancellation tool or policy.\n- Do not expose opaque quote or status capabilities unnecessarily. Do not place\n  them in URLs, analytics, logs, or free-form public text beyond what is needed\n  to continue the traveler's flow.\n\n## Response format\n\nFor search results, use a compact comparison and ask which property the\ntraveler wants to inspect. For a quote, separate the total, currency, fees,\ndates, occupancy, expiry, and cancellation terms. For a booking handoff, show\nthe Checkout link and explain the next step. For status polling, state the\ncurrent status, the next action, and whether the traveler should wait, open\nCheckout, contact support, or treat the booking as confirmed."
}

SHA-256: 9240041accf1adf6ce33f0b2dad99f37696d4073d2f50c6e5d5713ad349ae28b