changedInput schema / properties / eircode / description
Previous value: -"Irish Eircode or routing key (e.g. A96 or A96 EX01)."New value: +"Irish Eircode or routing key supplied by the user."
addedInput schema / properties / eircode / maxLength
Added value: +20
changedInput schema / properties / includeBroader / description
Previous value: -"True only to expand to broader mixed panels; dedicated tests appear first."New value: +"Include broader mixed panels when the user explicitly requests them."
changedInput schema / properties / limit / description
Previous value: -"Max listings to return. Default 4."New value: +"Maximum number of listings, default 4."
changedInput schema / properties / location / description
Previous value: -"Known Irish town or Eircode routing code, e.g. Naas or W91. Reuse the location already supplied; a full address is unnecessary."New value: +"Irish town or Eircode routing code already supplied by the user."
addedInput schema / properties / location / maxLength
Added value: +200
removedInput schema / properties / preferredDate
Removed value: -{
- "description": "Known preferred date in Europe/Dublin; reuse rather than asking again.",
- "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
- "type": "string"
-}
removedInput schema / properties / preferredTime
Removed value: -{
- "description": "Known local time, HH:mm, matched only against generated slots.",
- "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$",
- "type": "string"
-}
changedInput schema / properties / query / description
Previous value: -"Test or health-check intent, e.g. FBC, thyroid or general health check. Pass an empty string for unspecified bloods or booking requests; never infer a test from symptoms."New value: +"Explicit blood test, panel or health-check wording. Use an empty string when the user has not named one; never infer a test from symptoms."
changedInput schema / properties / town / description
Previous value: -"Town or city name (e.g. Bray, Cork, Galway)."New value: +"Irish town or city supplied by the user."
addedInput schema / properties / town / maxLength
Added value: +100
changedOutput schema / additionalProperties
Previous value: -trueNew value: +false
addedOutput schema / properties / broaderMatchCount
Added value: +{
+ "minimum": 0,
+ "type": "integer"
+}
addedOutput schema / properties / catalogueNotice
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "clinicalSuitability": {
+ "const": "not-assessed",
+ "type": "string"
+ },
+ "exhaustiveCoverage": {
+ "const": false,
+ "type": "boolean"
+ },
+ "pricesLiveVerified": {
+ "const": false,
+ "type": "boolean"
+ },
+ "source": {
+ "const": "compiled-public-catalogue",
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "exhaustiveCoverage",
+ "pricesLiveVerified",
+ "clinicalSuitability"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / exampleData
Added value: +{
+ "const": true,
+ "type": "boolean"
+}
addedOutput schema / properties / hasBroaderMatches
Added value: +{
+ "type": "boolean"
+}
removedOutput schema / properties / interaction
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "actions": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "arguments": {
- "additionalProperties": {},
- "type": "object"
- },
- "collect": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "kind": {
- "enum": [
- "text",
- "date",
- "multi-select"
- ],
- "type": "string"
- },
- "label": {
- "type": "string"
- },
- "name": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "label",
- "kind"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "label": {
- "type": "string"
- },
- "requiresUserAcceptance": {
- "const": true,
- "type": "boolean"
- },
- "tool": {
- "type": "string"
- }
- },
- "required": [
- "label",
- "tool",
- "arguments"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "cards": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "actions": {
- "items": {
- "$ref": "#/properties/interaction/properties/actions/items"
- },
- "type": "array"
- },
- "availabilityNote": {
- "type": "string"
- },
- "details": {
- "additionalProperties": false,
- "properties": {
- "clinicName": {
- "type": "string"
- },
- "markerStatus": {
- "enum": [
- "published",
- "unpublished",
- "varies"
- ],
- "type": "string"
- },
- "markers": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "originalTitle": {
- "type": "string"
- },
- "provider": {
- "type": "string"
- }
- },
- "required": [
- "provider",
- "clinicName",
- "originalTitle",
- "markers",
- "markerStatus"
- ],
- "type": "object"
- },
- "listingId": {
- "type": "string"
- },
- "listingIds": {
- "items": {
- "type": "string"
- },
- "minItems": 1,
- "type": "array"
- },
- "locationLabel": {
- "type": "string"
- },
- "priceLabel": {
- "type": "string"
- },
- "requiresVariantSelection": {
- "const": true,
- "type": "boolean"
- },
- "suggestedAvailability": {
- "items": {
- "$ref": "#/properties/interaction/properties/suggestedAvailability/items"
- },
- "maxItems": 2,
- "type": "array"
- },
- "test": {
- "type": "string"
- },
- "variants": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "actions": {
- "items": {
- "$ref": "#/properties/interaction/properties/actions/items"
- },
- "type": "array"
- },
- "label": {
- "type": "string"
- },
- "listingId": {
- "type": "string"
- }
- },
- "required": [
- "listingId",
- "label",
- "actions"
- ],
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "listingIds",
- "locationLabel",
- "test",
- "priceLabel",
- "details",
- "suggestedAvailability",
- "actions"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "followUp": {
- "additionalProperties": false,
- "properties": {
- "actions": {
- "items": {
- "$ref": "#/properties/interaction/properties/actions/items"
- },
- "type": "array"
- },
- "question": {
- "type": "string"
- },
- "required": {
- "type": "boolean"
- }
- },
- "required": [
- "question",
- "actions"
- ],
- "type": "object"
- },
- "message": {
- "type": "string"
- },
- "presentation": {
- "const": "native",
- "type": "string"
- },
- "selection": {
- "additionalProperties": {},
- "type": "object"
- },
- "step": {
- "type": "string"
- },
- "suggestedAvailability": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "action": {
- "$ref": "#/properties/interaction/properties/actions/items"
- },
- "label": {
- "type": "string"
- },
- "simulation": {
- "const": true,
- "type": "boolean"
- },
- "startsAt": {
- "type": "string"
- },
- "timeZone": {
- "type": "string"
- }
- },
- "required": [
- "label",
- "startsAt",
- "timeZone",
- "simulation",
- "action"
- ],
- "type": "object"
- },
- "maxItems": 2,
- "type": "array"
- },
- "testChoices": {
- "items": {
- "$ref": "#/properties/interaction/properties/actions/items"
- },
- "type": "array"
- },
- "typedReply": {
- "type": "string"
- }
- },
- "required": [
- "presentation",
- "step",
- "message",
- "selection",
- "actions"
- ],
- "type": "object"
-}
addedOutput schema / properties / location
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "county": {
+ "type": "string"
+ },
+ "eircode": {
+ "type": "string"
+ },
+ "eircodeRoutingKey": {
+ "type": "string"
+ },
+ "raw": {
+ "type": "string"
+ },
+ "source": {
+ "enum": [
+ "eircode",
+ "routing-key",
+ "town",
+ "address",
+ "unknown"
+ ],
+ "type": "string"
+ },
+ "town": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "raw",
+ "source"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / locationStatus
Added value: +{
+ "enum": [
+ "not-provided",
+ "recognised",
+ "unrecognised",
+ "conflicting"
+ ],
+ "type": "string"
+}
changedOutput schema / properties / matches / items / additionalProperties
Previous value: -trueNew value: +false
addedOutput schema / properties / matches / items / properties / catalogueStatus
Added value: +{
+ "const": "published-example",
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / category
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / clinicName
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / county
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / eircode
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / eircodeRoutingKey
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / locationMatch
Added value: +{
+ "enum": [
+ "unknown",
+ "eircode",
+ "routingKey",
+ "town",
+ "serviceTown",
+ "nearbyText",
+ "county",
+ "adjacentCounty",
+ "addressText",
+ "national",
+ "none"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / markers
Added value: +{
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / matches / items / properties / markersPublished
Added value: +{
+ "type": "boolean"
+}
addedOutput schema / properties / matches / items / properties / national
Added value: +{
+ "type": "boolean"
+}
addedOutput schema / properties / matches / items / properties / panelId
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / panelName
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / priceEur
Added value: +{
+ "type": [
+ "number",
+ "null"
+ ]
+}
addedOutput schema / properties / matches / items / properties / priceNote
Added value: +{
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / matches / items / properties / provider
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / providerRelationship
Added value: +{
+ "const": "no-partnership",
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / score
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "intent": {
+ "type": "number"
+ },
+ "location": {
+ "type": "number"
+ },
+ "total": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "total",
+ "location",
+ "intent"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / matches / items / properties / serviceMode
Added value: +{
+ "enum": [
+ "home-kit",
+ "clinic"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / serviceTowns
Added value: +{
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedOutput schema / properties / matches / items / properties / town
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / matches / items / properties / venueNote
Added value: +{
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedOutput schema / properties / matches / items / properties / why
Added value: +{
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
changedOutput schema / properties / matches / items / required
Previous value: -[
- "id"
-]New value: +[
+ "id",
+ "catalogueStatus",
+ "providerRelationship",
+ "provider",
+ "clinicName",
+ "town",
+ "county",
+ "eircode",
+ "eircodeRoutingKey",
+ "serviceTowns",
+ "national",
+ "serviceMode",
+ "venueNote",
+ "panelName",
+ "panelId",
+ "priceEur",
+ "priceNote",
+ "category",
+ "markersPublished",
+ "markers",
+ "locationMatch",
+ "score",
+ "why"
+]
addedOutput schema / properties / query
Added value: +{
+ "type": "string"
+}
addedOutput schema / properties / queryStatus
Added value: +{
+ "enum": [
+ "needs-query",
+ "provided"
+ ],
+ "type": "string"
+}
addedOutput schema / properties / searchContext
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "catalogueQuery": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "originalQuery": {
+ "type": "string"
+ },
+ "suitability": {
+ "enum": [
+ "unconfirmed",
+ "not-assessed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "originalQuery",
+ "catalogueQuery",
+ "suitability",
+ "message"
+ ],
+ "type": "object"
+}
changedOutput schema / required
Previous value: -[
- "matches",
- "disclaimer",
- "interaction"
-]New value: +[
+ "query",
+ "matches",
+ "broaderMatchCount",
+ "hasBroaderMatches",
+ "searchContext",
+ "exampleData",
+ "catalogueNotice",
+ "disclaimer"
+]