Tool tree
gradeNot graded
search_public_eventsAnswer
Search published events on the current public page. With no dates it returns upcoming events for the next six months. An optional free-text query matches event, organisation, venue and category names. Suitability matches use only organiser-authored audience and age metadata.
View tool JSON
{
"name": "search_public_events",
"kind": "answer",
"impl": "imperative",
"description": "Search published events on the current public page. With no dates it returns upcoming events for the next six months. An optional free-text query matches event, organisation, venue and category names. Suitability matches use only organiser-authored audience and age metadata.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 80,
"description": "Optional free-text filter matched against event name, organisation name, venue and category, for example \"Willowbrook\"."
},
"fromDate": {
"type": "string",
"format": "date",
"description": "Optional inclusive search start date in YYYY-MM-DD format. Defaults to today."
},
"toDate": {
"type": "string",
"format": "date",
"description": "Optional inclusive search end date, no more than six calendar months after fromDate. Defaults to six months after fromDate."
},
"audience": {
"type": "string",
"enum": [
"adults",
"all-ages",
"children",
"families"
],
"description": "Optional audience filter matched only against organiser-authored event metadata."
},
"age": {
"type": "integer",
"minimum": 0,
"maximum": 17,
"description": "Optional child age matched only when the organiser supplied a numeric age range."
}
},
"additionalProperties": false
}
}get_public_event_detailsAnswer
Read current public details, organiser-authored suitability, availability and free-booking rules for an event on the current page. Private attendee and organiser records are never returned.
View tool JSON
{
"name": "get_public_event_details",
"kind": "answer",
"impl": "imperative",
"description": "Read current public details, organiser-authored suitability, availability and free-booking rules for an event on the current page. Private attendee and organiser records are never returned.",
"inputSchema": {
"type": "object",
"properties": {
"eventId": {
"type": "string",
"enum": [
"evt_autumn_fair",
"evt_online_safety",
"evt_reception_welcome",
"evt_quiz_night",
"evt_winter_market",
"evt_uniform_swap",
"evt_harvest_lunch",
"evt_toddler_music",
"evt_carol_evening",
"evt_print_workshop",
"evt_folk_session",
"evt_venue_open_day",
"evt_coding_club",
"evt_family_cookalong",
"evt_mentor_intro",
"evt_family_sports",
"evt_coach_workshop",
"evt_winter_walk"
],
"description": "A stable published event identifier returned by search_public_events on the current page."
}
},
"required": [
"eventId"
],
"additionalProperties": false
}
}create_free_booking_draftSensitive Action
Prepare and display a non-binding free-ticket booking draft for review. Only adult and child quantities plus synthetic guardian contact are accepted; no child identity or health data is accepted.
View tool JSON
{
"name": "create_free_booking_draft",
"kind": "transact",
"impl": "imperative",
"description": "Prepare and display a non-binding free-ticket booking draft for review. Only adult and child quantities plus synthetic guardian contact are accepted; no child identity or health data is accepted.",
"inputSchema": {
"type": "object",
"properties": {
"eventId": {
"type": "string",
"enum": [
"evt_autumn_fair",
"evt_online_safety",
"evt_reception_welcome",
"evt_quiz_night",
"evt_winter_market",
"evt_uniform_swap",
"evt_harvest_lunch",
"evt_toddler_music",
"evt_carol_evening",
"evt_print_workshop",
"evt_folk_session",
"evt_venue_open_day",
"evt_coding_club",
"evt_family_cookalong",
"evt_mentor_intro",
"evt_family_sports",
"evt_coach_workshop",
"evt_winter_walk"
],
"description": "A published free event identifier returned by search_public_events."
},
"adultTickets": {
"type": "integer",
"minimum": 0,
"maximum": 6,
"description": "Number of adult or guardian tickets. Include at least one when child tickets are requested."
},
"childTickets": {
"type": "integer",
"minimum": 0,
"maximum": 5,
"description": "Number of child tickets. Child names, dates of birth, school records and health details are not accepted."
},
"guardianName": {
"type": "string",
"minLength": 1,
"description": "Synthetic adult or guardian contact name for this demonstration."
},
"guardianEmail": {
"type": "string",
"format": "email",
"description": "Synthetic adult or guardian email address for this demonstration."
}
},
"required": [
"eventId",
"adultTickets",
"childTickets",
"guardianName",
"guardianEmail"
],
"additionalProperties": false
}
}confirm_free_bookingSensitive Action
Create exactly one free booking from the matching draft visible on the page and return the same booking reference the page displays.
View tool JSON
{
"name": "confirm_free_booking",
"kind": "transact",
"impl": "imperative",
"description": "Create exactly one free booking from the matching draft visible on the page and return the same booking reference the page displays.",
"inputSchema": {
"type": "object",
"properties": {
"draftId": {
"type": "string",
"minLength": 1,
"description": "The active draft identifier returned by create_free_booking_draft."
},
"idempotencyKey": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A stable unique key for this confirmation attempt so retries cannot duplicate the booking."
}
},
"required": [
"draftId",
"idempotencyKey"
],
"additionalProperties": false
}
}