{
  "service": "headout",
  "displayName": "Headout",
  "categories": [
    "Productivity",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "pk_...",
      "description": "Headout API key sent with the Headout-Auth header. Sign up on the official affiliate platform to receive production and testing keys by email: https://partner.headout.com/affiliate",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.headout.com",
  "actions": [
    {
      "id": "headout.get_booking",
      "service": "headout",
      "name": "get_booking",
      "description": "Get one booking by its Headout booking id.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "bookingId": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout booking identifier."
          }
        },
        "additionalProperties": false,
        "required": [
          "bookingId"
        ],
        "description": "The input payload for fetching one Headout booking."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "booking": {
            "type": "object",
            "properties": {
              "bookingId": {
                "type": "string",
                "minLength": 1,
                "description": "The Headout booking identifier."
              },
              "partnerReferenceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The partner reference identifier when present."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "variantId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The booked variant identifier."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "startDateTime": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The booking start date-time."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "product": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "The minimal product reference on a Headout booking."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "customerDetails": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "The customer details collected for a Headout booking."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "variantInputFields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "A booking input field."
                },
                "description": "The variant-level booking input fields."
              },
              "price": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "A Headout monetary value."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Headout booking status."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "voucherUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Headout voucher URL when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tickets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "A Headout ticket object."
                },
                "description": "The tickets returned for this booking."
              },
              "creationTimestamp": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The booking creation timestamp."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "The raw Headout booking object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Headout booking."
          }
        },
        "additionalProperties": false,
        "required": [
          "booking"
        ],
        "description": "The response returned when fetching one Headout booking."
      }
    },
    {
      "id": "headout.get_product",
      "service": "headout",
      "name": "get_product",
      "description": "Get one Headout product with variants and pricing.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout product identifier."
          },
          "currencyCode": {
            "type": "string",
            "minLength": 1,
            "description": "The ISO 4217 currency code for returned pricing."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout language code."
          },
          "fetchVariants": {
            "type": "boolean",
            "description": "Whether to request variants from Headout."
          }
        },
        "additionalProperties": false,
        "required": [
          "productId"
        ],
        "description": "The input payload for fetching one Headout product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The Headout product identifier."
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The product name."
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The relative Headout product URL."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "canonicalUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The canonical Headout product URL."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "city": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "The Headout city attached to the product."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "currency": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "A Headout currency object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "displayTags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                },
                "description": "The display tags returned by Headout."
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "The absolute image URL.",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false,
                  "description": "A Headout image object."
                },
                "description": "The Headout product images."
              },
              "content": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "A Headout content section."
                },
                "description": "The normalized Headout content sections."
              },
              "startLocation": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "The normalized Headout start location object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "endLocation": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "The normalized Headout end location object."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "productType": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Headout product type."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ratingCumulative": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "avg": {
                        "anyOf": [
                          {
                            "type": "number",
                            "description": "The average rating."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "count": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "description": "The number of ratings."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "additionalProperties": false,
                    "description": "A Headout rating summary."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "hasInstantConfirmation": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the product supports instant confirmation."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "hasMobileTicket": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the product supports mobile tickets."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "variants": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "A Headout product variant."
                },
                "description": "The Headout product variants."
              },
              "pricing": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "type": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The Headout pricing type."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "currencyCode": {
                        "anyOf": [
                          {
                            "type": "string",
                            "description": "The pricing currency code."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "minimumPrice": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "originalPrice": {
                                "anyOf": [
                                  {
                                    "type": "number",
                                    "description": "The original retail price."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "finalPrice": {
                                "anyOf": [
                                  {
                                    "type": "number",
                                    "description": "The final selling price."
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "raw": {
                                "type": "object",
                                "additionalProperties": true,
                                "description": "The raw Headout listing price object."
                              }
                            },
                            "additionalProperties": false,
                            "description": "A Headout pricing amount pair."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "bestDiscount": {
                        "anyOf": [
                          {
                            "type": "number",
                            "description": "The best discount percentage or absolute value."
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "raw": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "The raw Headout product pricing object."
                      }
                    },
                    "additionalProperties": false,
                    "description": "A Headout product pricing summary."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "additionalProperties": true,
                "description": "The raw Headout product object."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Headout product."
          }
        },
        "additionalProperties": false,
        "required": [
          "product"
        ],
        "description": "The response returned when fetching one Headout product."
      }
    },
    {
      "id": "headout.list_bookings",
      "service": "headout",
      "name": "list_bookings",
      "description": "List bookings accessible to the current Headout API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination offset returned by a previous Headout response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to request from Headout."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Headout bookings."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "bookings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "bookingId": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout booking identifier."
                },
                "partnerReferenceId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The partner reference identifier when present."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "variantId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The booked variant identifier."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "startDateTime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The booking start date-time."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "product": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The minimal product reference on a Headout booking."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "customerDetails": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The customer details collected for a Headout booking."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "variantInputFields": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "A booking input field."
                  },
                  "description": "The variant-level booking input fields."
                },
                "price": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "A Headout monetary value."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Headout booking status."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "voucherUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Headout voucher URL when available."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tickets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "A Headout ticket object."
                  },
                  "description": "The tickets returned for this booking."
                },
                "creationTimestamp": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The booking creation timestamp."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw Headout booking object."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Headout booking."
            },
            "description": "The bookings returned by Headout."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "type": "integer",
                "description": "The total number of matching Headout records."
              },
              "nextOffset": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The next numeric offset when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The Headout pagination wrapper metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "bookings",
          "pagination"
        ],
        "description": "The response returned when listing Headout bookings."
      }
    },
    {
      "id": "headout.list_categories_by_city",
      "service": "headout",
      "name": "list_categories_by_city",
      "description": "List Headout categories for a given city.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cityCode": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout city code."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination offset returned by a previous Headout response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to request from Headout."
          }
        },
        "additionalProperties": false,
        "required": [
          "cityCode"
        ],
        "description": "The input payload for listing Headout categories by city."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout category identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The category display name."
                },
                "cityCode": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout city code for this category."
                },
                "image": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "The absolute image URL.",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout image object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "canonicalUrl": {
                  "type": "string",
                  "description": "The canonical Headout category URL.",
                  "format": "uri"
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw Headout category object."
                }
              },
              "additionalProperties": false,
              "description": "A Headout category object."
            },
            "description": "The Headout categories in the requested city."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "type": "integer",
                "description": "The total number of matching Headout records."
              },
              "nextOffset": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The next numeric offset when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The Headout pagination wrapper metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "categories",
          "pagination"
        ],
        "description": "The response returned when listing Headout categories by city."
      }
    },
    {
      "id": "headout.list_cities",
      "service": "headout",
      "name": "list_cities",
      "description": "List active Headout cities.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination offset returned by a previous Headout response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to request from Headout."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Headout cities."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "cities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout city code."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The display name of the city."
                },
                "image": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "description": "The absolute image URL.",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false,
                  "description": "A Headout image object."
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw Headout city object."
                }
              },
              "additionalProperties": false,
              "description": "A Headout city object."
            },
            "description": "The active Headout cities."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "type": "integer",
                "description": "The total number of matching Headout records."
              },
              "nextOffset": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The next numeric offset when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The Headout pagination wrapper metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "cities",
          "pagination"
        ],
        "description": "The response returned when listing Headout cities."
      }
    },
    {
      "id": "headout.list_inventory_by_variant",
      "service": "headout",
      "name": "list_inventory_by_variant",
      "description": "List Headout inventory rows for one variant.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout variant identifier."
          },
          "startDateTime": {
            "type": "string",
            "minLength": 1,
            "description": "The lower bound start date-time in Headout local date-time format."
          },
          "endDateTime": {
            "type": "string",
            "minLength": 1,
            "description": "The upper bound end date-time in Headout local date-time format."
          },
          "currencyCode": {
            "type": "string",
            "minLength": 1,
            "description": "The ISO 4217 currency code for returned pricing."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination offset returned by a previous Headout response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to request from Headout."
          }
        },
        "additionalProperties": false,
        "required": [
          "variantId"
        ],
        "description": "The input payload for listing Headout inventory by variant."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "inventories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout inventory identifier."
                },
                "startDateTime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The inventory start local date-time."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "endDateTime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The inventory end local date-time."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "availability": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Headout availability code."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "remaining": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The remaining seats when Headout reports them."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pricing": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The Headout inventory pricing object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw Headout inventory object."
                }
              },
              "additionalProperties": false,
              "description": "A Headout inventory object."
            },
            "description": "The inventory rows returned by Headout."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "type": "integer",
                "description": "The total number of matching Headout records."
              },
              "nextOffset": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The next numeric offset when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The Headout pagination wrapper metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "inventories",
          "pagination"
        ],
        "description": "The response returned when listing Headout inventory."
      }
    },
    {
      "id": "headout.list_products_by_category",
      "service": "headout",
      "name": "list_products_by_category",
      "description": "List Headout product listings for a category.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout category identifier."
          },
          "currencyCode": {
            "type": "string",
            "minLength": 1,
            "description": "The ISO 4217 currency code for returned pricing."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout language code."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination offset returned by a previous Headout response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to request from Headout."
          }
        },
        "additionalProperties": false,
        "required": [
          "categoryId"
        ],
        "description": "The input payload for listing Headout products by category."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout product identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The product name."
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The relative Headout product URL."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "canonicalUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The canonical Headout product URL."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "city": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "A minimal Headout city object attached to a listing."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "image": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "The absolute image URL.",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout image object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "primaryCategory": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The primary category attached to the product."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "startGeolocation": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "latitude": {
                          "type": "number",
                          "description": "The latitude."
                        },
                        "longitude": {
                          "type": "number",
                          "description": "The longitude."
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout geolocation object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ratingCumulative": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "avg": {
                          "anyOf": [
                            {
                              "type": "number",
                              "description": "The average rating."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "count": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The number of ratings."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout rating summary."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pricing": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The Headout pricing type."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "currencyCode": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The pricing currency code."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "minimumPrice": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "originalPrice": {
                                  "anyOf": [
                                    {
                                      "type": "number",
                                      "description": "The original retail price."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "finalPrice": {
                                  "anyOf": [
                                    {
                                      "type": "number",
                                      "description": "The final selling price."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "raw": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "description": "The raw Headout listing price object."
                                }
                              },
                              "additionalProperties": false,
                              "description": "A Headout pricing amount pair."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "bestDiscount": {
                          "anyOf": [
                            {
                              "type": "number",
                              "description": "The best discount percentage or absolute value."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "raw": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "The raw Headout product pricing object."
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout product pricing summary."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hasInstantConfirmation": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the listing can be confirmed instantly."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw Headout product listing object."
                }
              },
              "additionalProperties": false,
              "description": "A Headout product listing item."
            },
            "description": "The product listings returned by Headout."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "type": "integer",
                "description": "The total number of matching Headout records."
              },
              "nextOffset": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The next numeric offset when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The Headout pagination wrapper metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "products",
          "pagination"
        ],
        "description": "The response returned when listing Headout products by category."
      }
    },
    {
      "id": "headout.list_products_by_city",
      "service": "headout",
      "name": "list_products_by_city",
      "description": "List Headout product listings for a city.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cityCode": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout city code."
          },
          "currencyCode": {
            "type": "string",
            "minLength": 1,
            "description": "The ISO 4217 currency code for returned pricing."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The Headout language code."
          },
          "offset": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination offset returned by a previous Headout response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of items to request from Headout."
          }
        },
        "additionalProperties": false,
        "required": [
          "cityCode"
        ],
        "description": "The input payload for listing Headout products by city."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Headout product identifier."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The product name."
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The relative Headout product URL."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "canonicalUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The canonical Headout product URL."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "city": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "A minimal Headout city object attached to a listing."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "image": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "description": "The absolute image URL.",
                          "format": "uri"
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout image object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "primaryCategory": {
                  "anyOf": [
                    {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The primary category attached to the product."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "startGeolocation": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "latitude": {
                          "type": "number",
                          "description": "The latitude."
                        },
                        "longitude": {
                          "type": "number",
                          "description": "The longitude."
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout geolocation object."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ratingCumulative": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "avg": {
                          "anyOf": [
                            {
                              "type": "number",
                              "description": "The average rating."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "count": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "description": "The number of ratings."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout rating summary."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pricing": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The Headout pricing type."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "currencyCode": {
                          "anyOf": [
                            {
                              "type": "string",
                              "description": "The pricing currency code."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "minimumPrice": {
                          "anyOf": [
                            {
                              "type": "object",
                              "properties": {
                                "originalPrice": {
                                  "anyOf": [
                                    {
                                      "type": "number",
                                      "description": "The original retail price."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "finalPrice": {
                                  "anyOf": [
                                    {
                                      "type": "number",
                                      "description": "The final selling price."
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ]
                                },
                                "raw": {
                                  "type": "object",
                                  "additionalProperties": true,
                                  "description": "The raw Headout listing price object."
                                }
                              },
                              "additionalProperties": false,
                              "description": "A Headout pricing amount pair."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "bestDiscount": {
                          "anyOf": [
                            {
                              "type": "number",
                              "description": "The best discount percentage or absolute value."
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "raw": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "The raw Headout product pricing object."
                        }
                      },
                      "additionalProperties": false,
                      "description": "A Headout product pricing summary."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "hasInstantConfirmation": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the listing can be confirmed instantly."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The raw Headout product listing object."
                }
              },
              "additionalProperties": false,
              "description": "A Headout product listing item."
            },
            "description": "The product listings returned by Headout."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "nextUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "prevUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "type": "integer",
                "description": "The total number of matching Headout records."
              },
              "nextOffset": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The next numeric offset when Headout returns one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "description": "The Headout pagination wrapper metadata."
          }
        },
        "additionalProperties": false,
        "required": [
          "products",
          "pagination"
        ],
        "description": "The response returned when listing Headout products by city."
      }
    }
  ]
}
