{
  "name": "Generate verified gym trial passes with QR code, email & PDF export",
  "nodes": [
    {
      "id": "422f57ff-1e2c-49c9-ad61-fec687b01d93",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        480,
        224
      ]
    },
    {
      "id": "4b2316d0-1c3b-4279-a2ee-731d161bb156",
      "name": "IF Email Valid",
      "type": "n8n-nodes-base.if",
      "position": [
        1248,
        224
      ]
    },
    {
      "id": "cdcd52eb-2ac2-4f4a-bb79-7b9f39b249e2",
      "name": "Send Error Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1552,
        432
      ]
    },
    {
      "id": "28dee952-c257-4fc6-ab2c-c33be5d4c286",
      "name": "Generate Pass Details",
      "type": "n8n-nodes-base.code",
      "position": [
        1552,
        64
      ]
    },
    {
      "id": "9b135975-0911-4eaf-9132-77e3d5710c08",
      "name": "Generate QR Code",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1808,
        64
      ]
    },
    {
      "id": "e092fddb-54d3-4a80-9d90-0f566ac1eecb",
      "name": "Build HTML Pass",
      "type": "n8n-nodes-base.set",
      "position": [
        2080,
        64
      ]
    },
    {
      "id": "8520fb96-c0f0-4e03-a82c-1f7afb8def9d",
      "name": "Send Email with Pass",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3168,
        64
      ]
    },
    {
      "id": "db0868f4-deda-4798-834c-508cf752591b",
      "name": "Log to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3472,
        64
      ]
    },
    {
      "id": "67e66825-ef97-4f50-a483-d5710980f340",
      "name": "Send Success Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        3744,
        64
      ]
    },
    {
      "id": "1a0b7624-a659-4392-adbc-373a376a82c1",
      "name": "Verifi Email",
      "type": "n8n-nodes-verifiemail.verifiEmail",
      "position": [
        896,
        224
      ]
    },
    {
      "id": "de56d48e-83e9-402c-8225-8b37a6c54aea",
      "name": "HTML/CSS to Image",
      "type": "n8n-nodes-htmlcsstoimage.htmlCssToImage",
      "position": [
        2336,
        64
      ]
    },
    {
      "id": "61962b44-e00d-4321-a7dd-21a9bc4399e4",
      "name": "HTML to PDF",
      "type": "n8n-nodes-htmlcsstopdf.htmlcsstopdf",
      "position": [
        2624,
        64
      ]
    },
    {
      "id": "b014ca2a-96c8-415b-86fd-d21d93361522",
      "name": "Digital Pass",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2912,
        64
      ]
    },
    {
      "id": "70feca54-0be7-4593-b4e1-b9c2736ab1b7",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        0
      ],
      "parameters": {
        "width": 580,
        "height": 532,
        "content": "## Verified Gym Trial Pass Automation\n\nThis workflow automates gym trial pass generation with email verification, QR codes, and professional PDF passes.\n\n### How it works\n1. Webhook receives signup (n"
      }
    },
    {
      "id": "0851a6c4-d6e4-4991-92ae-3512b0040be9",
      "name": "Sticky Note21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        -48
      ],
      "parameters": {
        "width": 736,
        "height": 256,
        "content": "## Pass Generation\n\nGenerates unique Pass ID, QR code, and formats dates. References original webhook data to preserve all fields after email verification."
      }
    },
    {
      "id": "7132553c-278c-4487-aa81-d7ba0dde5e9a",
      "name": "Sticky Note22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2288,
        -48
      ],
      "parameters": {
        "width": 752,
        "height": 272,
        "content": "## Design & Export\n\nBuilds HTML pass with gradient design, member photo, validity dates, and QR code. Converts to PNG image and PDF format."
      }
    },
    {
      "id": "35d5ec32-113d-47e4-be05-07723fb18ea6",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        112
      ],
      "parameters": {
        "width": 624,
        "height": 272,
        "content": "## Input & Validation\n\nReceives signup data via webhook, verifies email authenticity using VerifiEmail, and routes to success or error path based on validation results."
      }
    },
    {
      "id": "c557853c-1c73-44be-b7e6-7fecd1f18524",
      "name": "Sticky Note19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3120,
        -64
      ],
      "parameters": {
        "width": 800,
        "height": 304,
        "content": "## Delivery, Logging & Response\n\nEmails PDF pass to verified member, logs signup in Google Sheets, and returns success JSON response with pass details."
      }
    },
    {
      "id": "6cfcb575-7e09-4a19-9ae6-d2aed7ffd9e9",
      "name": "Section: Error Handling",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        320
      ],
      "parameters": {
        "width": 360,
        "height": 288,
        "content": "## Error Handling\n\nReturns 400 error response when email validation fails (invalid format or disposable email detected)."
      }
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Verifi Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML to PDF": {
      "main": [
        [
          {
            "node": "Digital Pass",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Digital Pass": {
      "main": [
        [
          {
            "node": "Send Email with Pass",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verifi Email": {
      "main": [
        [
          {
            "node": "IF Email Valid",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF Email Valid": {
      "main": [
        [
          {
            "node": "Generate Pass Details",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Error Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build HTML Pass": {
      "main": [
        [
          {
            "node": "HTML/CSS to Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate QR Code": {
      "main": [
        [
          {
            "node": "Build HTML Pass",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML/CSS to Image": {
      "main": [
        [
          {
            "node": "HTML to PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log to Google Sheets": {
      "main": [
        [
          {
            "node": "Send Success Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Email with Pass": {
      "main": [
        [
          {
            "node": "Log to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Pass Details": {
      "main": [
        [
          {
            "node": "Generate QR Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}