{
  "name": "Automated restaurant call handling & table booking system with VAPI and PostgreSQL",
  "nodes": [
    {
      "id": "aa3b9f79-7923-47df-87d8-72ceaa3f0127",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -580,
        -380
      ],
      "parameters": {
        "width": 420,
        "height": 200,
        "content": "📝 Description\n\nHandles incoming calls for the restaurant using VAPI to collect user details (name, booking time, number of people), checks table availability in a PostgreSQL database via n8n, books th"
      }
    },
    {
      "id": "0cc6d135-9098-4be1-8de3-fe027653d3d9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        20
      ],
      "parameters": {
        "width": 780,
        "height": 280,
        "content": "                             🟢 Availability Check Flow\n"
      }
    },
    {
      "id": "511c9929-3614-4d09-b1b6-27c14ce304a7",
      "name": "Query Table Availability (Postgres)",
      "type": "n8n-nodes-base.postgres",
      "position": [
        220,
        100
      ]
    },
    {
      "id": "08671a05-f26e-477a-80ab-b6885e10dfd6",
      "name": "Respond: Availability Status (VAPI)",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        440,
        100
      ]
    },
    {
      "id": "3efaa272-9bdb-4db1-bb63-94ffca5a161e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -100,
        -260
      ],
      "parameters": {
        "width": 780,
        "height": 280,
        "content": "                                 🔵 Booking Flow\n\n"
      }
    },
    {
      "id": "0fbfd74a-e2a4-4666-9055-c5d588ad6cff",
      "name": "Trigger: Booking Request (VAPI)\t",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        100
      ]
    },
    {
      "id": "13d32034-198f-4429-9515-f71275ff2333",
      "name": "Upsert Booking in Postgres\t",
      "type": "n8n-nodes-base.postgres",
      "position": [
        220,
        -160
      ]
    },
    {
      "id": "16c88128-1e44-42df-bbd3-2cd7b1c2e6b0",
      "name": "Respond: Booking Confirmation (VAPI)\t",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        440,
        -160
      ]
    },
    {
      "id": "ee35e567-9de8-4518-a66f-0d168a973544",
      "name": "Trigger: Booking Request (VAPI)\t1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        -160
      ]
    }
  ],
  "connections": {
    "Upsert Booking in Postgres\t": {
      "main": [
        [
          {
            "node": "Respond: Booking Confirmation (VAPI)\t",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger: Booking Request (VAPI)\t": {
      "main": [
        [
          {
            "node": "Query Table Availability (Postgres)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger: Booking Request (VAPI)\t1": {
      "main": [
        [
          {
            "node": "Upsert Booking in Postgres\t",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Query Table Availability (Postgres)": {
      "main": [
        [
          {
            "node": "Respond: Availability Status (VAPI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}