{ "name": "Lead Qualified -> Payment Email", "nodes": [ { "parameters": { "triggerOnNotify": true, "channel": "lead_qualified", "additionalFields": {} }, "id": "pg-trigger", "name": "Postgres Trigger", "type": "n8n-nodes-base.postgresTrigger", "typeVersion": 1, "position": [ 250, 300 ], "credentials": { "postgres": { "id": "1", "name": "MC Cars Postgres" } } }, { "parameters": { "operation": "executeQuery", "query": "SELECT c.id, c.name, c.email, c.phone,\n so.order_number, so.total_eur, so.deposit_eur,\n so.date_from, so.date_to, so.vehicle_label,\n so.daily_subtotal, so.weekend_subtotal,\n so.subtotal_eur, so.vat_eur,\n so.total_days, so.weekday_count, so.weekend_day_count\nFROM public.customers c\nJOIN public.sales_orders so ON so.customer_id = c.id\nWHERE so.id = '{{ $json.sales_order_id }}'::uuid", "additionalFields": {} }, "id": "fetch-order-data", "name": "Fetch Order Data", "type": "n8n-nodes-base.postgres", "typeVersion": 2.5, "position": [ 470, 300 ], "credentials": { "postgres": { "id": "1", "name": "MC Cars Postgres" } } }, { "parameters": { "mode": "runOnceForEachItem", "language": "javaScript", "jsCode": "const item = $json;\n\nconst formatEur = (value) => {\n const n = Number(value || 0);\n return new Intl.NumberFormat(\"de-AT\", { style: \"currency\", currency: \"EUR\" }).format(n);\n};\n\nconst formatDate = (value) => {\n if (!value) return \"-\";\n const d = new Date(value);\n if (Number.isNaN(d.getTime())) return String(value);\n return new Intl.DateTimeFormat(\"de-AT\", { day: \"2-digit\", month: \"2-digit\", year: \"numeric\" }).format(d);\n};\n\nconst orderNumber = item.order_number || \"\";\nconst dateFrom = formatDate(item.date_from);\nconst dateTo = formatDate(item.date_to);\nconst rentalRange = `${dateFrom} bis ${dateTo}`;\nconst paymentLink = `https://www.mc-cars.at/zahlung/${encodeURIComponent(orderNumber)}`;\n\nconst depositEur = formatEur(item.deposit_eur);\nconst rentalEur = formatEur(item.total_eur);\nconst subtotalEur = formatEur(item.subtotal_eur);\nconst vatEur = formatEur(item.vat_eur);\n\nconst safeName = item.name || \"Kundin/Kunde\";\nconst vehicle = item.vehicle_label || \"-\";\n\nconst subject = `MC Cars - Buchung bestaetigt (${orderNumber}) - Zahlungsinfos`;\n\nconst html = `\n
\n \n \n \n \n \n \n \n
\n
MC Cars
\n

Ihre Miete wurde freigegeben

\n
\n

Guten Tag ${safeName},

\n

\n Ihre Buchung wurde auf Basis der von Ihnen bereitgestellten Informationen geprueft und freigegeben.\n Nachfolgend finden Sie die Zahlungsanweisungen fuer Kaution und Mietbetrag.\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Bestellnummer${orderNumber}
Fahrzeug${vehicle}
Mietzeitraum${rentalRange}
Zwischensumme${subtotalEur}
MwSt.${vatEur}
Mietbetrag${rentalEur}
Kaution${depositEur}
\n\n

1) Kaution per Ueberweisung

\n

Bitte ueberweisen Sie die Kaution in Hoehe von ${depositEur} mit folgendem Verwendungszweck: Kaution ${orderNumber}.

\n\n

2) Mietbetrag online bezahlen

\n

Den Mietbetrag von ${rentalEur} koennen Sie direkt ueber folgenden Link bezahlen:

\n\n

\n Zur Zahlung (${orderNumber})\n

\n\n

Falls Sie Fragen haben, antworten Sie einfach auf diese E-Mail.

\n

Freundliche Gruesse
MC Cars Team

\n
\n
`;\n\nreturn {\n toEmail: item.email,\n subject,\n html,\n};" }, "id": "build-payment-email", "name": "Build Payment Email", "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 690, 300 ] }, { "parameters": { "fromEmail": "office@mc-cars.at", "toEmail": "={{ $json.toEmail }}", "subject": "={{ $json.subject }}", "emailType": "html", "html": "={{ $json.html }}", "options": {} }, "id": "send-email", "name": "Send Payment Email", "type": "n8n-nodes-base.emailSend", "typeVersion": 2.1, "position": [ 910, 300 ], "credentials": { "smtp": { "id": "2", "name": "MC Cars SMTP" } } } ], "connections": { "Postgres Trigger": { "main": [ [ { "node": "Fetch Order Data", "type": "main", "index": 0 } ] ] }, "Fetch Order Data": { "main": [ [ { "node": "Build Payment Email", "type": "main", "index": 0 } ] ] }, "Build Payment Email": { "main": [ [ { "node": "Send Payment Email", "type": "main", "index": 0 } ] ] } }, "settings": { "executionOrder": "v1" }, "staticData": null, "tags": [ { "name": "mc-cars" } ], "triggerCount": 1 }