{
  "name": "Crisphive — website form to confirmed job",
  "nodes": [
    {
      "parameters": {
        "formTitle": "Book a service visit",
        "formDescription": "Tell us what you need and when. We confirm the visit right away when a technician is free.",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Full name",
              "requiredField": true
            },
            {
              "fieldLabel": "Phone",
              "placeholder": "+16135550142",
              "requiredField": true
            },
            {
              "fieldLabel": "Email",
              "fieldType": "email"
            },
            {
              "fieldLabel": "Street address",
              "requiredField": true
            },
            {
              "fieldLabel": "City",
              "requiredField": true
            },
            {
              "fieldLabel": "Postal code",
              "requiredField": true
            },
            {
              "fieldLabel": "Preferred date",
              "fieldType": "date",
              "requiredField": true
            },
            {
              "fieldLabel": "Preferred time",
              "fieldType": "dropdown",
              "fieldOptions": {
                "values": [
                  {
                    "option": "09:00"
                  },
                  {
                    "option": "11:00"
                  },
                  {
                    "option": "13:00"
                  },
                  {
                    "option": "15:00"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldLabel": "What do you need?",
              "fieldType": "textarea",
              "requiredField": true
            }
          ]
        },
        "options": {}
      },
      "id": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0001",
      "name": "Website form",
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.2,
      "position": [
        0,
        0
      ],
      "webhookId": "crisphive-book-a-visit"
    },
    {
      "parameters": {
        "operation": "bookAndConfirm",
        "customerMode": "new",
        "fullName": "={{ $json[\"Full name\"] }}",
        "addressLine": "={{ $json[\"Street address\"] }}",
        "scheduledAt": "={{ $json[\"Preferred date\"] }}T{{ $json[\"Preferred time\"] }}:00",
        "additionalFields": {
          "phone": "={{ $json[\"Phone\"] }}",
          "email": "={{ $json[\"Email\"] }}",
          "city": "={{ $json[\"City\"] }}",
          "postalCode": "={{ $json[\"Postal code\"] }}",
          "country": "CA",
          "description": "={{ $json[\"What do you need?\"] }}"
        }
      },
      "id": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0002",
      "name": "Book and confirm in Crisphive",
      "type": "n8n-nodes-crisphive.crisphive",
      "typeVersion": 1,
      "position": [
        240,
        0
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 2
          },
          "conditions": [
            {
              "id": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0010",
              "leftValue": "={{ $json.confirmed }}",
              "rightValue": "",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "id": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0003",
      "name": "Confirmed?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        480,
        0
      ]
    },
    {
      "parameters": {
        "operation": "completion",
        "respondWith": "text",
        "completionTitle": "Your visit is booked",
        "completionMessage": "=Thank you, {{ $('Website form').item.json[\"Full name\"] }}. Your booking reference is {{ $json.short_code }}. We will see you on {{ $('Website form').item.json[\"Preferred date\"] }} at {{ $('Website form').item.json[\"Preferred time\"] }}.",
        "options": {}
      },
      "id": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0004",
      "name": "Booked",
      "type": "n8n-nodes-base.form",
      "typeVersion": 1,
      "position": [
        720,
        -100
      ],
      "webhookId": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0004"
    },
    {
      "parameters": {
        "operation": "completion",
        "respondWith": "text",
        "completionTitle": "Thanks, we have your request",
        "completionMessage": "=Your request reference is {{ $json.short_code }}. That time is not available, so our team will call you to agree on a time.",
        "options": {}
      },
      "id": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0005",
      "name": "Needs a time",
      "type": "n8n-nodes-base.form",
      "typeVersion": 1,
      "position": [
        720,
        100
      ],
      "webhookId": "6f2f8c1e-1a8d-4c55-9a51-7d1b9a0c0005"
    }
  ],
  "connections": {
    "Website form": {
      "main": [
        [
          {
            "node": "Book and confirm in Crisphive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Book and confirm in Crisphive": {
      "main": [
        [
          {
            "node": "Confirmed?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Confirmed?": {
      "main": [
        [
          {
            "node": "Booked",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Needs a time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {}
}
