{
  "name": "Plan AI-powered travel itineraries with Apify, OpenAI, and Google Docs",
  "nodes": [
    {
      "id": "c82e7927-b801-4c02-bae7-cbfd2e7e1c4f",
      "name": "Travel Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -896,
        416
      ]
    },
    {
      "id": "de1f428d-c665-4016-84f9-cc9de570d228",
      "name": "Set Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        -688,
        416
      ]
    },
    {
      "id": "0109421d-6ef5-41cf-85d1-b8f892ab59bb",
      "name": "Booking.com Scraper",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        -352,
        240
      ]
    },
    {
      "id": "3b5b153e-5078-49c3-a22d-57bc3221e33a",
      "name": "HTTP Request Hotels",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -80,
        240
      ]
    },
    {
      "id": "a16337c7-a806-4433-b00a-17603e7abe01",
      "name": "Google Flights Scraper",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        -352,
        480
      ]
    },
    {
      "id": "ab18c15d-6213-41a5-a018-5e21d6cda637",
      "name": "HTTP Request Flights",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -80,
        480
      ]
    },
    {
      "id": "9a30f3b5-0dec-444a-a60c-b8f048ac4cad",
      "name": "AI Recommendations",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -304,
        720
      ]
    },
    {
      "id": "bca8f877-e48e-4862-877e-924b0ed70ac2",
      "name": "OpenAI Recommendations Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -224,
        896
      ]
    },
    {
      "id": "5f433cd4-00c3-454b-a25f-09702f6cc23f",
      "name": "Merge All Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        240,
        496
      ]
    },
    {
      "id": "08cd8ec8-c779-49b1-a179-6d0738aa1b6e",
      "name": "Process All Data",
      "type": "n8n-nodes-base.code",
      "position": [
        464,
        496
      ]
    },
    {
      "id": "d7efd999-bab6-41c9-844d-dcfc2a5822b3",
      "name": "Create Document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        816,
        496
      ]
    },
    {
      "id": "2fc9cb4d-a0bb-4fe3-b964-fdce703d1ce0",
      "name": "Prepare Document Content",
      "type": "n8n-nodes-base.code",
      "position": [
        1040,
        496
      ]
    },
    {
      "id": "cc3d3c09-77a9-4b46-9404-48a172e3d84a",
      "name": "Update Document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1248,
        496
      ]
    },
    {
      "id": "899c6918-0e89-407c-9c41-93113a5cbb74",
      "name": "Prepare Form Ending",
      "type": "n8n-nodes-base.code",
      "position": [
        1472,
        496
      ]
    },
    {
      "id": "cafd3d14-46ac-4845-9ba6-4ff2656a71f0",
      "name": "Form Ending",
      "type": "n8n-nodes-base.form",
      "position": [
        1696,
        496
      ]
    },
    {
      "id": "84c80c0b-f354-43a1-a0a3-527f7680e916",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1408,
        16
      ],
      "parameters": {
        "width": 460,
        "height": 920,
        "content": "## Try It Out!\n### Collect travel details via a form, then scrape flights and hotels while AI generates recommendations — all compiled into a Google Doc.\n\nGreat for travel agencies, personal trip plan"
      }
    },
    {
      "id": "edb7e1c3-61b9-482d-b953-00328f402eec",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        192
      ],
      "parameters": {
        "width": 440,
        "height": 420,
        "content": "## 1. Trigger and input\nThe form collects departure/destination airports, dates, and traveler count. The Set node normalizes these into variables used by all downstream nodes."
      }
    },
    {
      "id": "389ecca6-1893-4e00-b38f-8314f1b62af2",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -432,
        32
      ],
      "parameters": {
        "width": 500,
        "height": 660,
        "content": "## 2. Parallel data fetching\n[Apify integration docs](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-apify/)\n\nThree tasks run in parallel: Booking.com scrapes top 5 hotels by review scor"
      }
    },
    {
      "id": "3c7f0f3a-10de-4e6c-bd88-f89aebfb05a1",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        288
      ],
      "parameters": {
        "width": 480,
        "height": 420,
        "content": "## 3. Merge and process\nAll three data streams are merged into a single item. The Code node structures hotels, flights, and AI recommendations into a clean object for the Google Doc."
      }
    },
    {
      "id": "d13a3f3e-fa66-451f-a733-6bde3e4789b6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        288
      ],
      "parameters": {
        "width": 1120,
        "height": 420,
        "content": "## 4. Generate Google Doc and respond\n[Google Docs node docs](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledocs/)\n\nA new Google Doc is created, populated with the formatted "
      }
    }
  ],
  "connections": {
    "Travel Form": {
      "main": [
        [
          {
            "node": "Set Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Variables": {
      "main": [
        [
          {
            "node": "Booking.com Scraper",
            "type": "main",
            "index": 0
          },
          {
            "node": "Google Flights Scraper",
            "type": "main",
            "index": 0
          },
          {
            "node": "AI Recommendations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge All Data": {
      "main": [
        [
          {
            "node": "Process All Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Document": {
      "main": [
        [
          {
            "node": "Prepare Document Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Document": {
      "main": [
        [
          {
            "node": "Prepare Form Ending",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process All Data": {
      "main": [
        [
          {
            "node": "Create Document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Recommendations": {
      "main": [
        [
          {
            "node": "Merge All Data",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Booking.com Scraper": {
      "main": [
        [
          {
            "node": "HTTP Request Hotels",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request Hotels": {
      "main": [
        [
          {
            "node": "Merge All Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Form Ending": {
      "main": [
        [
          {
            "node": "Form Ending",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request Flights": {
      "main": [
        [
          {
            "node": "Merge All Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Google Flights Scraper": {
      "main": [
        [
          {
            "node": "HTTP Request Flights",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Document Content": {
      "main": [
        [
          {
            "node": "Update Document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Recommendations Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Recommendations",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}