{
  "name": "AMP 2.0 - Haupt Workflow",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "amp-api-v2",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "webhook-trigger",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json.action}}",
              "operation": "equal",
              "value2": "create_order"
            }
          ]
        }
      },
      "id": "if-create-order",
      "name": "Wenn Auftrag erstellen",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        460,
        200
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json.action}}",
              "operation": "equal",
              "value2": "report_revenue"
            }
          ]
        }
      },
      "id": "if-report-revenue",
      "name": "Wenn Umsatz melden",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        460,
        400
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json.action}}",
              "operation": "equal",
              "value2": "approve_revenue"
            }
          ]
        }
      },
      "id": "if-approve-revenue",
      "name": "Wenn Umsatz best\u00e4tigen",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        460,
        600
      ]
    },
    {
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{$json.action}}",
              "operation": "equal",
              "value2": "assign_order"
            }
          ]
        }
      },
      "id": "if-assign-order",
      "name": "Wenn Auftrag zuweisen",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        460,
        800
      ]
    },
    {
      "parameters": {
        "authentication": "serviceAccount",
        "serviceAccountEmail": "={{$json.googleSheetsConfig.serviceAccountEmail}}",
        "operation": "append",
        "documentId": "={{$json.googleSheetsConfig.ordersSheetId}}",
        "sheetName": "Auftr\u00e4ge",
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "ID": "={{$json.data.id || $now}}",
            "Erstellt": "={{$json.data.createdAt}}",
            "Kundenname": "={{$json.data.customerName}}",
            "Adresse": "={{$json.data.address}}",
            "Telefon": "={{$json.data.phone}}",
            "Email": "={{$json.data.email}}",
            "Beschreibung": "={{$json.data.description}}",
            "Priorit\u00e4t": "={{$json.data.priority}}",
            "Gesch\u00e4tzter Umsatz": "={{$json.data.estimatedRevenue}}",
            "Status": "pending",
            "Erstellt von": "={{$json.data.createdBy}}",
            "Zugewiesen an": "",
            "Zugewiesen am": "",
            "Abgeschlossen am": ""
          }
        },
        "options": {}
      },
      "id": "google-sheets-create-order",
      "name": "Google Sheets - Auftrag erstellen",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "position": [
        680,
        100
      ]
    },
    {
      "parameters": {
        "authentication": "serviceAccount",
        "serviceAccountEmail": "={{$json.googleSheetsConfig.serviceAccountEmail}}",
        "operation": "append",
        "documentId": "={{$json.googleSheetsConfig.revenuesSheetId}}",
        "sheetName": "Ums\u00e4tze",
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "ID": "={{$json.data.id || $now}}",
            "Auftrag ID": "={{$json.data.orderId}}",
            "Monteur ID": "={{$json.data.monteurId}}",
            "Monteur Name": "={{$json.data.monteurName}}",
            "Betrag": "={{$json.data.amount}}",
            "Beschreibung": "={{$json.data.description}}",
            "Gemeldet am": "={{$json.data.reportedAt}}",
            "Status": "pending",
            "Best\u00e4tigt von": "",
            "Best\u00e4tigt am": "",
            "Ablehnungsgrund": "",
            "Bilder": "={{$json.data.images ? $json.data.images.join(';') : ''}}"
          }
        },
        "options": {}
      },
      "id": "google-sheets-report-revenue",
      "name": "Google Sheets - Umsatz melden",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "position": [
        680,
        300
      ]
    },
    {
      "parameters": {
        "authentication": "serviceAccount",
        "serviceAccountEmail": "={{$json.googleSheetsConfig.serviceAccountEmail}}",
        "operation": "update",
        "documentId": "={{$json.googleSheetsConfig.revenuesSheetId}}",
        "sheetName": "Ums\u00e4tze",
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Status": "approved",
            "Best\u00e4tigt von": "={{$json.userContext.name}}",
            "Best\u00e4tigt am": "={{$now}}"
          }
        },
        "options": {
          "locationDefine": "list",
          "keyRow": 1,
          "keyColumn": "ID",
          "lookupValue": "={{$json.data.revenueId}}"
        }
      },
      "id": "google-sheets-approve-revenue",
      "name": "Google Sheets - Umsatz best\u00e4tigen",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "position": [
        680,
        500
      ]
    },
    {
      "parameters": {
        "authentication": "serviceAccount",
        "serviceAccountEmail": "={{$json.googleSheetsConfig.serviceAccountEmail}}",
        "operation": "update",
        "documentId": "={{$json.googleSheetsConfig.ordersSheetId}}",
        "sheetName": "Auftr\u00e4ge",
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "Status": "assigned",
            "Zugewiesen an": "={{$json.data.monteurId}}",
            "Zugewiesen am": "={{$json.data.assignedAt}}",
            "Zugewiesen von": "={{$json.data.assignedBy}}",
            "Priorit\u00e4t": "={{$json.data.priority}}",
            "Notizen": "={{$json.data.notes}}"
          }
        },
        "options": {
          "locationDefine": "list",
          "keyRow": 1,
          "keyColumn": "ID",
          "lookupValue": "={{$json.data.orderId}}"
        }
      },
      "id": "google-sheets-assign-order",
      "name": "Google Sheets - Auftrag zuweisen",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 3,
      "position": [
        680,
        700
      ]
    },
    {
      "parameters": {
        "chatId": "={{$json.telegramConfig.vergabeChatId}}",
        "text": "\ud83c\udd95 *Neuer Auftrag erstellt*\n\n\ud83d\udccb *Auftrag:* #{{$json.data.id}}\n\ud83d\udc64 *Kunde:* {{$json.data.customerName}}\n\ud83d\udccd *Adresse:* {{$json.data.address}}\n\ud83d\udcde *Telefon:* {{$json.data.phone}}\n\u26a1 *Priorit\u00e4t:* {{$json.data.priority}}\n\ud83d\udcb0 *Gesch\u00e4tzter Umsatz:* \u20ac{{$json.data.estimatedRevenue}}\n\ud83d\udc68\u200d\ud83d\udcbc *Erstellt von:* {{$json.data.createdBy}}\n\n_Bitte best\u00e4tigen und zuweisen._",
        "parseMode": "Markdown",
        "additionalFields": {}
      },
      "id": "telegram-notify-new-order",
      "name": "Telegram - Neuer Auftrag Benachrichtigung",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1,
      "position": [
        900,
        100
      ]
    },
    {
      "parameters": {
        "chatId": "={{$json.telegramConfig.vergabeChatId}}",
        "text": "\ud83d\udcb0 *Umsatz gemeldet*\n\n\ud83d\udccb *Auftrag:* #{{$json.data.orderId}}\n\ud83d\udd27 *Monteur:* {{$json.data.monteurName}}\n\ud83d\udcb6 *Betrag:* \u20ac{{$json.data.amount}}\n\ud83d\udcdd *Beschreibung:* {{$json.data.description}}\n\ud83d\udcc5 *Gemeldet am:* {{$json.data.reportedAt}}\n\n_Bitte pr\u00fcfen und best\u00e4tigen._",
        "parseMode": "Markdown",
        "additionalFields": {}
      },
      "id": "telegram-notify-revenue-reported",
      "name": "Telegram - Umsatz gemeldet Benachrichtigung",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1,
      "position": [
        900,
        300
      ]
    },
    {
      "parameters": {
        "chatId": "={{$json.data.monteurTelegramId}}",
        "text": "\u2705 *Umsatz best\u00e4tigt*\n\n\ud83d\udccb *Auftrag:* #{{$json.data.orderId}}\n\ud83d\udcb6 *Betrag:* \u20ac{{$json.data.amount}}\n\ud83d\udc68\u200d\ud83d\udcbc *Best\u00e4tigt von:* {{$json.userContext.name}}\n\ud83d\udcc5 *Best\u00e4tigt am:* {{$now}}\n\n_Vielen Dank f\u00fcr Ihre Arbeit!_",
        "parseMode": "Markdown",
        "additionalFields": {}
      },
      "id": "telegram-notify-revenue-approved",
      "name": "Telegram - Umsatz best\u00e4tigt Benachrichtigung",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1,
      "position": [
        900,
        500
      ]
    },
    {
      "parameters": {
        "chatId": "={{$json.data.monteurTelegramId}}",
        "text": "\ud83c\udfaf *Neuer Auftrag zugewiesen*\n\n\ud83d\udccb *Auftrag:* #{{$json.data.orderId}}\n\ud83d\udc64 *Kunde:* {{$json.data.customerName}}\n\ud83d\udccd *Adresse:* {{$json.data.address}}\n\ud83d\udcde *Telefon:* {{$json.data.phone}}\n\u26a1 *Priorit\u00e4t:* {{$json.data.priority}}\n\ud83d\udcdd *Notizen:* {{$json.data.notes}}\n\ud83d\udc68\u200d\ud83d\udcbc *Zugewiesen von:* {{$json.data.assignedBy}}\n\n_Bitte bearbeiten Sie den Auftrag._",
        "parseMode": "Markdown",
        "additionalFields": {}
      },
      "id": "telegram-notify-order-assigned",
      "name": "Telegram - Auftrag zugewiesen Benachrichtigung",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1,
      "position": [
        900,
        700
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { \"success\": true, \"message\": \"Auftrag erfolgreich erstellt\", \"orderId\": $json.data.id } }}"
      },
      "id": "response-create-order",
      "name": "Antwort - Auftrag erstellt",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        1120,
        100
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { \"success\": true, \"message\": \"Umsatz erfolgreich gemeldet\", \"revenueId\": $json.data.id } }}"
      },
      "id": "response-revenue-reported",
      "name": "Antwort - Umsatz gemeldet",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        1120,
        300
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { \"success\": true, \"message\": \"Umsatz erfolgreich best\u00e4tigt\" } }}"
      },
      "id": "response-revenue-approved",
      "name": "Antwort - Umsatz best\u00e4tigt",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        1120,
        500
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { \"success\": true, \"message\": \"Auftrag erfolgreich zugewiesen\" } }}"
      },
      "id": "response-order-assigned",
      "name": "Antwort - Auftrag zugewiesen",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        1120,
        700
      ]
    },
    {
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ { \"success\": false, \"error\": \"Unbekannte Aktion: \" + $json.action } }}"
      },
      "id": "response-error",
      "name": "Antwort - Fehler",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        680,
        1000
      ]
    }
  ],
  "connections": {
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Wenn Auftrag erstellen",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wenn Umsatz melden",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wenn Umsatz best\u00e4tigen",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wenn Auftrag zuweisen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wenn Auftrag erstellen": {
      "main": [
        [
          {
            "node": "Google Sheets - Auftrag erstellen",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Antwort - Fehler",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wenn Umsatz melden": {
      "main": [
        [
          {
            "node": "Google Sheets - Umsatz melden",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wenn Umsatz best\u00e4tigen": {
      "main": [
        [
          {
            "node": "Google Sheets - Umsatz best\u00e4tigen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wenn Auftrag zuweisen": {
      "main": [
        [
          {
            "node": "Google Sheets - Auftrag zuweisen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Auftrag erstellen": {
      "main": [
        [
          {
            "node": "Telegram - Neuer Auftrag Benachrichtigung",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Umsatz melden": {
      "main": [
        [
          {
            "node": "Telegram - Umsatz gemeldet Benachrichtigung",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Umsatz best\u00e4tigen": {
      "main": [
        [
          {
            "node": "Telegram - Umsatz best\u00e4tigt Benachrichtigung",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets - Auftrag zuweisen": {
      "main": [
        [
          {
            "node": "Telegram - Auftrag zugewiesen Benachrichtigung",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Neuer Auftrag Benachrichtigung": {
      "main": [
        [
          {
            "node": "Antwort - Auftrag erstellt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Umsatz gemeldet Benachrichtigung": {
      "main": [
        [
          {
            "node": "Antwort - Umsatz gemeldet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Umsatz best\u00e4tigt Benachrichtigung": {
      "main": [
        [
          {
            "node": "Antwort - Umsatz best\u00e4tigt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram - Auftrag zugewiesen Benachrichtigung": {
      "main": [
        [
          {
            "node": "Antwort - Auftrag zugewiesen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {},
  "versionId": "1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": 1,
  "tags": []
}