brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
pricewin-travel-searchSearch and compare live hotel and flight prices with the PriceWin MCP server, look up one named hotel, inspect OpenTravel direct listings, send a booking request to a partner hotel (no payment; the guest pays at the property), and cancel one. Use when the user asks to find hotels or flights for dates, compare travel prices, inspect a hotel or room, check a …
Independent GitHub snapshot · Automated classification · Original documentation governs
Use only the tools of the pricewin MCP server bundled with this plugin
(https://mcp.price.win/mcp). Agents prefix them with the server name — for
example mcp__pricewin__search_hotels_live — and the steps below use the bare
tool names. Do not replace them with browser automation, shell commands, direct
API calls, or invented booking URLs.
All prices are in USD.
For a hotel search, obtain:
For a flight search, obtain:
Resolve unambiguous relative dates from the current date. Ask one concise follow-up when a required date, destination, or airport is genuinely ambiguous. Never invent a date or silently choose among multiple plausible airports.
Pass language matching the user's language when supported. Do not put
unrelated conversation or personal data in queryText.
search_hotels_live with the destination, dates, occupancy, and only
the filters the user actually requested.sessionId and nights from the response.poll_search_results with that sessionId and nights.status is neither completed nor failed and no useful results
have arrived, poll again a few seconds later. Stop after about 10 polls (one
to two minutes) or when the session has expired: present what has arrived,
say which sources were still loading, and offer to check again with the same
sessionId rather than starting a new search.Use hotelName, area, priceMin, or priceMax only when the user supplied
that constraint. Do not claim that a result is the cheapest in the whole
market; describe it as the cheapest among the sources returned for this search.
A failed or missing source does not invalidate results from other sources.
When the user names a single hotel rather than a city, call
get_ota_hotel_detail with hotelName and its city (or the Booking.com
propertyUrl from an earlier result) and the user's dates. It returns that
hotel's rooms, live prices, facilities and reviews from Booking.com.
Call get_hotel_detail only for a hotel identified as an OpenTravel direct
listing.
propertyId from opentravelResults.hotelName plus city only when the property is already known to be an
OpenTravel direct listing and no propertyId is available.Present the returned photos, amenities, availability, room capacity, total price, per-night price, and currency without changing their meaning. State clearly when availability or a price is missing.
For questions about a hotel itself — check-in and check-out times, facilities,
photos, description, room types — call get_hotel_info with the propertyId
of an OpenTravel direct listing, usually from opentravelResults of a search
already made. It needs no dates and returns no prices or availability; for
those, use get_hotel_detail. When the property has not published a field,
say so rather than filling it in.
Call get_cancellation_policy only after get_hotel_detail supplies both:
propertyId; andratePlanId.Pass the check-in date so the tool can compute an exact deadline. Report the returned non-refundable status, refund percentage, free-cancellation window, deadline, and summary. Never infer a policy or deadline when the tool does not return one.
search_flights_live with IATA codes, departure date, optional return
date, adults, and cabin.sessionId.poll_flight_results with that sessionId.status is neither completed nor failed and no useful results
have arrived, poll again a few seconds later, for at most about 10 polls.
Then present what has arrived and offer to check again with the same
sessionId. A flight session expires 15 minutes after the search starts.Keep outbound and return legs distinct. Each leg is a separate one-way ticket with its own booking link: when you pair an outbound and a return flight, give the total as the sum of the two fares and say that each leg is booked separately. Never present a pair as one round-trip ticket, and do not imply that a fare is still available after the live result expires.
Only an OpenTravel direct listing can be booked this way; an Agoda, Booking.com or Traveloka result cannot, and the user follows its own link instead.
request_booking with the propertyId, roomTypeId, dates and the
guest's name, phone number and email. Ask for whichever of those three is
missing; they go to the hotel, which needs them to honour the reservation.confirmationCode it returns; check_booking_status reads the
request's state back with it. Also keep the room's propertyId,
ratePlanId and check-in date: the cancellation policy needs them and no
tool recovers them from the code. Tell the guest to keep the code and the
email address they used.No money changes hands through PriceWin: sending the request charges nothing,
and the guest pays the hotel directly on arrival. Never ask how the guest wants
to pay, and never mention a card, transfer, QR code, payment link or deposit —
not even one the guest named earlier. If a property requires payment at
booking time, request_booking creates nothing and returns a link to book on
the PriceWin website instead; relay that link as given.
propertyId,
ratePlanId and check-in date, call get_cancellation_policy with them and
tell the guest what they will get back — or that the property has published
no policy. If it does not (the guest came back with only the confirmation
code and email), call check_booking_status with the code to confirm the
hotel, dates and status, and tell the guest the refund terms cannot be
shown here and that cancel_booking reports the refund it applies. Do not
guess them.request_cancel_token with the confirmation code and the email on the
booking. This cancels nothing; it emails a single-use token.cancel_booking with the code, the token and the guest's reason. Relay the
refund amount and status it returns.cancel_booking cannot be undone. If there is no token yet, the answer is
step 2, never step 4.
search_hotels_live, poll_search_results,
search_flights_live, poll_flight_results, get_ota_hotel_detail,
get_hotel_detail, get_hotel_info, get_cancellation_policy,
request_booking, check_booking_status, request_cancel_token, and
cancel_booking.