Pakajo Dashboard · Entwicklungsschritte für die Backend-Anbindung
Stand: 10.10.2026 · Basis: Mockup-Build 2026-10-10-47 · Zielsystem: Pakajo-Backend
Die Schritte sind klein geschnitten und in sinnvoller Reihenfolge. Jeder Schritt ist für sich testbar; das Mockup bleibt währenddessen lauffähig, weil alle Module nur über window.PakajoBackend auf Daten zugreifen (siehe Backend-Integration).
Phase 0 · Projekt aufsetzen
0.1 Repository und Build einrichten
Mockup in ein Repo übernehmen, Script-Blöcke als einzelne Dateien herauslösen (Adapter, Module, Styles), Build für dashboard.html/index.html + Service Worker.
0.2 Konfiguration und Umgebungen
PakajoBackend.config auf Umgebungsvariablen (Dev / Staging / Prod), API-Basis-URL, MwSt-Satz, Währung.
0.3 Authentifizierung
Login/Registrierung (pakajo-login.html) an den Auth-Service anbinden: Session-Token statt ?selfreg=<base64>; E-Mail-Bestätigung (Mail 1) und Willkommensmail (Mail 2) über den Mail-Service.
Phase 1 · Stammdaten aus dem Backend
1.1 Versanddienste
carriers.all / forScreen / forCountry → GET /carriers (ID, Name, Service-Klasse, Laufzeit, Max-Gewicht, Länder-Abdeckung, Features).
1.2 Versandprodukte
products.all → GET /products (Codes 1–7) sowie Pickup-/Drop-off-/Retoure-Produkte products.pickup(mode).
1.3 Länder und Glocal-Länder
countries.list (ISO-2/ISO-3/Name/Flagge) und glocal.countries aus der Produktgruppe Glocal.
1.4 Kunden und Mandanten
customers.list / get / save → Bestandskunden aus dem Backend; Master-Mandant + Standorte; Enterprise-Kunden, die direkt im Backend angelegt werden, erscheinen im Frontend.
1.5 User und Rollen
users.list / current → User, Rollen, Mandanten-Zuordnung, Unter-User-Login (sieht nur zugeordnete Mandanten).
Phase 2 · Preise und Abonnements
2.1 Preisabfrage
pricing.quote → POST /quote (Carrier, Land, Gewicht, Maße, Produkt, Versicherung, Express → netto/MwSt/brutto) aus den Angebotsgruppen des Kunden.
2.2 Angebotsgruppen und Abonnements
subscriptions.* → Angebotsgruppe je Kunde, aktives Abo, Rabatte, Feature-Freischaltungen (Box-Presets ab Silber, Versandregeln ab Gold, Mandanten-/User-Limits) serverseitig prüfen.
2.3 Billing
billing.* → Prepaid-Aufladung, Zahlungsmethode (Karte/PayPal), SEPA-Mandat beantragen und durch Pakajo freigeben, Plan-Wechsel, Prepaid-Gutschrift beim Abo-Start, Bronze-Testmonat.
2.4 Brutto/Netto
Flag „vorsteuerabzugsberechtigt" aus der Registrierung am Master-Mandanten speichern; Preise aus quote() direkt als netto/brutto rendern (DOM-Umrechnung entfällt).
Phase 3 · Versand
3.1 Einzelversand
Sendung anlegen → POST /shipments (Mandant, Ziel-Land ISO-2, Maße, Produkt, Carrier-ID, Empfänger, Zusatzversicherung); Label/Tracking-Nummer vom Server.
3.2 Aufträge und Sammelaufträge
shipments.orders → Aufträge, Tages-Sammelauftrag, Sendungen je Auftrag; Status-Enum vereinheitlichen.
3.3 Massenversand
Import (XLSX/CSV) → Backend-Validierung und -Kalkulation; Zeilen liefern dest, gewicht, produkt, carrierId; Workflow-Schritte (kalkuliert → Versanddaten → Label) aus dem Backend.
3.4 Versandregeln
rules.list / save → Regeln je Kunde persistieren; Anwendung im Einzel- und Massenversand (erste passende Regel gewinnt); KI-Vorschläge rules.aiSuggestions aus der Versandanalyse.
3.5 Zoll und Handelsrechnung
Einfuhrsteuer importTax(iso), CN22/Handelsrechnung aus Kundeneingaben, Zoll-Tarifprodukte je Sendung.
3.6 Pickup, Drop-off, Retoure-Pickup
Buchung → Backend (Termin/feste Slots, Abgabestellen, Abhol-Kontingent je Abo, Füllregel); Label/QR-Code vom Carrier bzw. Backend.
Phase 4 · Nach dem Versand
4.1 Tracking
tracking.events(nr) → KI-Tracking (vorhanden); Master-Detail-Ansicht liest nur noch Backend-Daten.
4.2 Retouren
returns.list → Retourenportal aus dem Backend (vorhanden) im Frontend ausspielen.
4.3 Reklamationen (Bitrix24)
claims.tickets / webhook → Ticket legt der Service an, Kunde ist Mitwirkender; Webhooks ONTASKADD / ONTASKUPDATE / ONTASKCOMMENTADD; Messenger im Dashboard; E-Mail-Einladung.
4.4 Rechnungen und ESN-Daten
billing.invoices → Rechnungsübersicht und XLSX-Export aus den ESN-Versanddaten; Gutschriften.
Phase 5 · Shop, Daten, Auswertung
5.1 Shop- und Marktplatzbestellungen, Artikel
orders.shopOrders / articles → vorhandene Backend-Daten anzeigen; Bestellung → Sendung.
5.2 Versandperformance
performance.query → SQL-Editor-Abfragen ins Frontend (Charts/KPIs).
5.3 Pricing-Tool
Preisübersicht aus echten Angebotsgruppen-Preisen je Abo (+ KI-Vorschläge); XLSX-Export.
5.4 Integrationen und API-Doku
integrations.list, apiDocs.url → vorhandene Backend-Integrationen und Doku einbinden; API-Keys serverseitig.
Phase 6 · Kundenbereich
6.1 Adressbuch
addressbook.list + Speichern/Ändern im Backend (Anzeige bleibt Frontend).
6.2 Paketgrößen (Box-Presets)
Frontend-Speicherung je Kunde (optional Backend-Sync).
6.3 Branding
Logo/Farben/Absenderdaten für Label, Handelsrechnung, Retourenportal (Frontend + Backend).
6.4 Paku Points
points.* → Punktestand, Gutschrift je Sendung, Einlösen; nur Free/Bronze/Silber/Gold (nicht Enterprise).
6.5 Profil, Sprache, Währung, 2FA
Profildaten je User aus dem Backend; Sprache/Währung als Präferenz; 2FA im Frontend.
Phase 7 · Härtung und Abnahme
7.1 Sicherheit
LLM-Aufrufe (Chatbot/KI-Vorschläge) über das Backend proxyen, keine API-Keys im Browser; Tracking-Abfragen über das Backend; IDs (Tracking, Buchung, Ticket, Gutschrift) vom Server.
7.2 Enums und i18n
Status-, Plan- und Produkt-Enums zentral; Labels über i18n (DE/EN/ES/FR/IT …).
7.3 Demo-Daten entfernen
Demo-Mandanten 2600–2607 und statische Tabellenzeilen durch Seed-Daten aus dem Backend ersetzen.
7.4 Mobile und PWA
Responsive Prüfung aller Screens, Service Worker/Caching, Offline-Hinweise.
7.5 Abnahme
Testfälle je Phase (Neuregistrierung → erste Sendung, Abo-Wechsel, Massenversand mit Regeln, Reklamation per Webhook, Pickup mit Label/QR), Launch-Vorbereitung.