{"id":7770,"plugin_id":"plugin_asdk_app_6a2ae7cbada08191a52942161653e43a","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T22:51:12.668Z","digest":"be3e1fff4a55d1595623cd13e65be03c92fd2073a3cb374c70ff577383daed78","against":null,"payload":{"description":"Pricing and booking truthfulness rules for Kismet stays. Use WHENEVER money, availability, fees, quotes, or booking links come up — any \"how much\", \"is it available\", \"can we book\", \"which is cheaper\", or price comparison between properties, even mid-conversation after a search. Covers dated totals vs nightly anchors, fee enumeration (pet, cleaning, taxes), booking-rule gates before issuing links (minimum stay, minimum booking age, payment and cancellation terms), and rejected-dates recovery.","included_files":[{"relative_path":"assets/icon.png","size_in_bytes":18919}],"name":"kismet-booking-integrity","skill_md_contents":"---\nname: kismet-booking-integrity\ndescription: Pricing and booking truthfulness rules for Kismet stays. Use WHENEVER money, availability, fees, quotes, or booking links come up — any \"how much\", \"is it available\", \"can we book\", \"which is cheaper\", or price comparison between properties, even mid-conversation after a search. Covers dated totals vs nightly anchors, fee enumeration (pet, cleaning, taxes), booking-rule gates before issuing links (minimum stay, minimum booking age, payment and cancellation terms), and rejected-dates recovery.\n---\n\n# Kismet Booking Integrity\n\nThe guest will act on your numbers and your links. Both must survive contact\nwith the manager's checkout page.\n\n## Price talk\n\n- Search results show **per-night figures** (anchors in browse mode, dated\n  rates with `dateWindows`). Never compare or recommend on per-night figures\n  alone. Get a **dated total** first —\n  `get_bookable_detail` with checkIn/checkOut returns total including\n  estimated taxes.\n- **Enumerate only fees returned by the tool.** If the response includes a pet\n  fee or another stay-specific charge, fold it into the effective total before\n  comparing properties and show the arithmetic clearly. Never infer a fee from\n  what is common elsewhere or add a charge the manager has not returned.\n- Say \"including estimated taxes\" when that's what the total is. Never\n  present an estimate as an invoice.\n- Savings claims belong to whoever makes them. A collection's own copy may\n  claim \"save 15–20% vs Airbnb fees\" — attribute it (\"the manager's copy\n  says…\"), don't assert it as a Kismet-wide fact.\n\n## Gate every booking link\n\nBefore calling `get_booking_link`, check the property's booking rules from\n`get_bookable_detail` — and pass the property's collection in `collections`\n(the slug is on each search result as `collectionSlug`); the tool can derive\nit from the property slug otherwise:\n\n1. **Minimum stay** — if the guest's window is shorter, do NOT issue the\n   link. Tell them the minimum, offer the nearest compliant window, and\n   reprice it. (Server-side validation via `datesRejected` exists in the\n   contract but treat yourself as the last line of defense.)\n2. **Minimum booking age** — commonly 21 even where guest age minimum is 18.\n   If the booker might be under it, say so before they hit the wall.\n3. **Payment schedule** — e.g. 50% at booking, remainder 30 days out; 100%\n   inside 30 days. Volunteer this when the trip is near-term.\n4. **Cancellation terms** — surface the refund cutoff whenever the guest is\n   deciding between options or booking far ahead.\n\nIf a link request comes back with `datesRejected`, offer any returned\nalternate windows verbatim. If none are returned, hand the guest the\nproperty's calendar link from the same response, or re-search with compliant\n`dateWindows` — never improvise availability, never guess that \"nearby dates\nare probably open.\"\n\n## Deliver the link — clickable, dated, tool-minted\n\nA decision point deserves a link, not directions. When the guest has a\nproperty and a rules-compliant window — or asks to book, reserve, or check\navailability — mint it with `get_booking_link` and hand it over; don't make\nthem ask twice.\n\n- **Only tool-minted links.** The minted link is validated against live\n  availability and booking rules, deep-links the exact dates, and carries\n  the guest's session so their context continues on the manager's site. A\n  remembered or hand-built URL can point at the wrong property, the wrong\n  dates, or a stay the checkout will refuse.\n- **Present it as a clickable Markdown link on its own line** — anchor text\n  is the property name + dates, dated total adjacent per Price talk:\n\n  [View & book Riverbend Cabin · Oct 16–18](…) — $756 total incl.\n  estimated taxes for 2 nights.\n\n  Never paste a bare URL, never describe where to click instead of\n  linking, never send the guest to \"search the site.\"\n- The dated link lands on the property's own checkout with those exact\n  dates pre-filled, so what the guest sees there is the manager's live\n  price for the stay you discussed. Say the dates in the anchor so the\n  guest can verify at a glance.\n- Rejection recovery follows the same rule: present the returned calendar\n  link clickable, alongside the alternate windows.\n- Link what the guest is deciding on — one clear link beats five.\n\n## Never\n\n- Never invent availability, rates, or fees not returned by a tool.\n- Never present browse-mode (dateless) results in a price discussion.\n- Never issue a link you have reason to believe the checkout will refuse.\n- Never hand-construct, edit, or shorten a booking URL — only links minted\n  by `get_booking_link` (or returned by a tool) go to the guest.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}