addedInput schema / properties / activities
Added value: +{
+ "description": "Optional activities, e.g. [\"hiking\", \"photography\", \"remote work\", \"camping\", \"beach\"].",
+ "items": {
+ "maxLength": 60,
+ "type": "string"
+ },
+ "maxItems": 10,
+ "type": "array"
+}
addedInput schema / properties / budget
Added value: +{
+ "description": "Optional budget level. Recorded in the response; the catalog carries no prices, so it does not filter products.",
+ "enum": [
+ "budget",
+ "mid_range",
+ "premium"
+ ],
+ "type": "string"
+}
addedInput schema / properties / destination
Added value: +{
+ "description": "Optional country, region or city, e.g. Japan, Iceland, Thailand.",
+ "maxLength": 120,
+ "type": "string"
+}
changedInput schema / properties / lang / description
Previous value: -"Content language for the guides that come back (default \"en\")"New value: +"Language of the VoyageHacks guides returned. One of: en, de, fr, es, it, pl, cs, ja, nl, pt, zh. Defaults to \"en\"."
changedInput schema / properties / limit / description
Previous value: -"Max items in the kit (default 6)"New value: +"Maximum items in the kit. Defaults to 6."
addedInput schema / properties / luggage
Added value: +{
+ "description": "Optional luggage constraint. carry_on_only and personal_item_only weight the packing and compression categories.",
+ "enum": [
+ "carry_on_only",
+ "personal_item_only",
+ "checked_bag",
+ "backpack"
+ ],
+ "type": "string"
+}
addedInput schema / properties / season
Added value: +{
+ "description": "Optional season or climate at the destination.",
+ "enum": [
+ "spring",
+ "summer",
+ "autumn",
+ "winter",
+ "rainy",
+ "dry"
+ ],
+ "type": "string"
+}
addedInput schema / properties / traveler_type
Added value: +{
+ "description": "Optional traveler type.",
+ "enum": [
+ "solo",
+ "couple",
+ "family",
+ "business",
+ "backpacker",
+ "digital_nomad"
+ ],
+ "type": "string"
+}
changedInput schema / properties / trip / description
Previous value: -"Free-text trip description: destination, length, style, flight type, season, gadgets needed"New value: +"Free-text trip description: destination, length, style, flight type, season, gadgets needed."
addedInput schema / properties / trip / maxLength
Added value: +600
addedInput schema / properties / trip_length_days
Added value: +{
+ "description": "Optional trip length in days.",
+ "maximum": 365,
+ "minimum": 1,
+ "type": "integer"
+}
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "criteria": {
+ "description": "Structured hints that were applied.",
+ "type": "object"
+ },
+ "disclosure": {
+ "type": "string"
+ },
+ "hub": {
+ "type": "string"
+ },
+ "kit": {
+ "items": {
+ "properties": {
+ "affiliate": {
+ "description": "True: the buy link is an affiliate link.",
+ "type": "boolean"
+ },
+ "asin": {
+ "type": "string"
+ },
+ "badge": {
+ "description": "Editorial label, e.g. \"Best overall\".",
+ "type": "string"
+ },
+ "buyUrl": {
+ "description": "Amazon product page, carrying the VoyageHacks Associates tag.",
+ "type": "string"
+ },
+ "category": {
+ "description": "Product category, taken from the buying guide it appears in.",
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "reviewGuide": {
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "updated": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "url"
+ ],
+ "type": "object"
+ },
+ "source": {
+ "description": "Always \"amazon\".",
+ "type": "string"
+ },
+ "whyThisOne": {
+ "description": "The published reason this product was picked.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "asin",
+ "buyUrl",
+ "source",
+ "affiliate",
+ "reviewGuide"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "lang": {
+ "type": "string"
+ },
+ "trip": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "trip",
+ "lang",
+ "kit",
+ "disclosure"
+ ],
+ "type": "object"
+}