find_tickets
ChatGPTFind available tickets for a Ticketmaster event by eventId. PREREQUISITES: Obtain eventId from unified_search first. SEARCH OPTIONS (TopPicksQuery): - eventId: Required. The event ID to search tickets for. - quantity: Filter by ticket count (e.g., 2 for pairs) - selection: "standard" | "resale" | "platinum" | "any" - sort: "listprice" (price low→high) | "quality" (best seats) | "section" (TMR events only) - section: REQUIRED when user asks for specific section(s). Accepts string OR array of strings. FORMAT RULES: Single section: Use string "B" or "101" or "Terrace" Multiple sections/ranges: Use array ["16","17","18"] or ["B","C"] in ONE REQUEST CRITICAL: When user asks for multiple sections (e.g., "sections 16 through 18", "sections B or C"), you MUST send ONE request with an array, NOT multiple separate requests. CRITICAL — SECTION LEVEL NOTATION: When the user refers to a section LEVEL or AREA (e.g., "the 200 section", "200 level", "200s", "upper 200s", "something in the 200 section", "the 100 level"), you MUST append "s" to the number: "200s", "100s", "300s". "200s" matches ALL sections 200-299. "100s" matches ALL sections 100-199. "200" (without "s") matches ONLY exact section 200 — it will NOT return 201, 202, etc. WRONG: section "200" when user says "the 200 section" → returns ZERO results RIGHT: section "200s" when user says "the 200 section" → returns sections 200-299 Use exact "200" ONLY when user says literally "section 200" (a specific seat, not a level). This applies ONLY to numeric sections — do NOT append "s" to alpha names like "GA" or "Floor". Smart and fuzzy matching per section: Short codes: "B" matches "SEC B", "SECTION B", but not "BENCH" Section numbers: "101" matches "SEC 101", "SECTION 101" Prefix matching: "4" matches "4-H", "4-L", "19" matches "19-L", "19-H" Fuzzy names: "Terrace" matches section "TERRAC", "Mezzanine" matches section "MEZZ" - prices: Price range filter (format: "min,max", e.g., "0,100" for under $100) - size: Number of ticket listings to return per page (default 10) - page: Page number for paginated results (0-indexed). Use when hasMorePages = true in a previous response. IMPORTANT: - When user mentions section(s), ALWAYS include the section parameter - For multiple sections, send ONE request with array format, NOT separate requests per section - For section LEVELS: "the 200 section" → "200s", "the 100 level" → "100s". Do NOT send "200" for a level request. UNSUPPORTED FILTER DETECTION: - Supported filters: section, prices, sort (listprice/quality), quantity, selection. These can all be combined freely in a single request. - If the user requests ANY filtering criteria BEYOND the supported ones (e.g., "in the shade", "covered seats", "obstructed view", "limited view", "ADA accessible", "wheelchair accessible", "companion seats", "standing room only", "vip"), set unsupportedFilter to a short description of what was requested (e.g., "in the shade", "obstructed view", "ADA accessible"). Treat as a catch all for unstructured seat selection filters beyond what's supported. - Still proceed with the search using all applicable supported parameters — unsupportedFilter is an informational flag that tells the widget to display a notice to the user. EXAMPLE QUERIES: - Find 2 cheapest tickets: {eventId: "ABC123", quantity: 2, sort: "listprice"} - Find best available seats: {eventId: "ABC123", sort: "quality"} - Find resale tickets only: {eventId: "ABC123", selection: "resale"} - Find tickets under $100: {eventId: "ABC123", prices: "0,100"} - Find tickets $50-$150: {eventId: "ABC123", prices: "50,150"} - Find tickets in section B: {eventId: "ABC123", section: "B"} - Find tickets in section 101: {eventId: "ABC123", quantity: 2, section: "101"} - Find tickets in section 4: {eventId: "ABC123", section: "4"} - Find tickets in Terrace: {eventId: "ABC123", section: "Terrace"} - Find tickets in sections B or C: {eventId: "ABC123", section: ["B", "C"]} - Find tickets in POOL or Garden: {eventId: "ABC123", section: ["POOL", "Garden"]} - Find tickets in the 200 level: {eventI…
unified_search
ChatGPTSearch Ticketmaster for events, artists, teams, or venues in a single unified tool. WHEN TO CALL: When the user wants to discover, browse, or find events/tickets on Ticketmaster. This ALSO includes indirect availability questions such as: - "Is [show] still running?" / "Is [show] still on?" - "Are there still tickets for [event]?" - "Can I still see [show]?" / "Where is [show] playing?" / "Which cities is [show] coming to?" - "Is [artist] touring?" / "Is [artist] on tour?" These are implicit requests to check the event catalog and SHOULD invoke this tool using eventKeyword for show names or attractionKeyword for artist names. DO NOT CALL this tool if the user: - Asks general knowledge questions about an artist or band (origin, albums, members, biography, discography) - Asks general knowledge questions about a venue (address, directions, parking, capacity, seating chart, policies, door times) - Asks about event details like cast, performers, or who is starring in a show - Asks about events NOT typically sold on Ticketmaster (local amateur sports, little league, school events, community events, private events) - Asks for recommendations or opinions (e.g., "best concerts ever") - Asks any informational question that does not require searching the Ticketmaster event catalog - The user mentions a genre/category (e.g., "rock shows", "comedy events", "sports events") but does NOT include a location (city, area, or venue). A date range alone is NOT enough — genre searches ALWAYS require a location. Instead, ask the user to provide at least a location to narrow results. Example: "I'd love to help find rock shows! What city or area are you in?" Example: "Comedy events this weekend sounds fun! What city or area should I search?" IMPORTANT: Call this tool ONLY ONCE per user prompt. Do NOT call it a second time to refine, re-sort, or re-format. The single call returns all data needed — format the returned results directly. If the tool returns zero results, do NOT retry with different parameters. Instead, inform the user that no results were found and suggest they try a different search (e.g., expand the date range, change the location, or check the spelling). CRITICAL - FIELD USAGE RULES: attractionKeyword - ONLY for specific artist/performer/team NAMES: - IMPORTANT: The attraction needs to be spelled exactly how the artist/performer/team spells it (e.g., "blink-182") - CORRECT: "Taylor Swift", "Lakers", "Beyonce", "Coldplay", "Chicago Bulls" - WRONG: "NBA", "NFL", "NHL", "MLB" (these are leagues/classifications, use classificationName) - WRONG: "rock", "pop", "sports", "comedy" (these are genres, use classificationName) - WRONG: "Los Angeles", "New York" (these are locations, use location object) - Leave EMPTY if user asks for a genre/category without naming a specific artist - IMPORTANT: Use attractionKeyword for individual team names (e.g., "Lakers"), NOT league names (e.g., "NBA") venueKeyword - ONLY for specific venue NAMES: - DO NOT include location object if a specific venue is mentioned - the venue defines the location - CORRECT: "Madison Square Garden", "Staples Center", "Red Rocks Amphitheatre" - WRONG: "Los Angeles", "Chicago", "New York" (these are cities, use location object) - WRONG: "arena", "stadium", "theater" (these are venue types, not names) - Leave EMPTY if user mentions a city/location without naming a specific venue - For common venue names that exist in multiple cities (e.g., "Orpheum", "Paramount", "Fillmore"), if the user did NOT mention a city, use just the venueKeyword without location — the backend will return a venue list for the user to pick from. eventKeyword - ONLY for specific event/show/tour NAMES: - CORRECT: "Eras Tour", "Hamilton", "Lollapalooza", "Coachella", "Indy 500", "Kentucky Derby", "Super Bowl" - WRONG: "rock concert", "sports game" (these are categories, use classificationName) - Leave EMPTY if user asks for a genre/category without naming a specific event classificationName - ONLY when user EXPLICITLY asks for a genre/category: - ONLY populate if user says words like: "rock", "pop", "spo…
find_tickets
Claudeunified_search
Claude