Discovery & Fehler-Audit
Katalogisierung der kritischen Alt-Fehler, Kartierung des kaputten Zahlungspfads, Abgrenzung der zu übernehmenden Katalog- und Treuedaten und Festlegung der DSGVO- + CCPA-Aufstellung für US- und EU-Zielgruppen.
Fallstudie · Restaurant · Essensbestellung
Wie wir die mobilen Apps für eine Fast-Casual-Restaurantkette von Grund auf neu aufgebaut haben — native iOS- und Android-Clients auf einem sauberen Laravel-Backend, ein Kombi-Katalog, ein Echtzeit-Warenkorb, ein stabiler Karten-Acquiring-Pfad mit wiederkehrenden Zahlungen, ein Treueguthaben und eine Abholterminplanung — ausgeliefert in den App Store und Google Play und so entwickelt, dass sie Zielgruppen in den USA und der Europäischen Union unter den Anforderungen von DSGVO und CCPA bedienen.
Das Produktteam von Vilka-Lozhka kam zu YuSMP Group mit einem Paar mobiler Apps, die das Eine nicht mehr taten, was eine Essensbestell-App zuverlässig tun muss: Geld entgegennehmen. Der Alt-Code hatte kritische Fehler angesammelt, und die Zahlungsintegration — gestützt auf kaputte Apple-Pay- und Google-Pay-Verdrahtung — versagte oft genug, dass Kunden Bestellungen beim Checkout abbrachen. Die Kette brauchte eine vollständige Neugestaltung und einen funktionalen Neuaufbau, keinen Flicken: die geerbten Defekte beseitigen, den Zahlungspfad durch einen stabilen Karten-Acquiring-Ablauf ersetzen, der sowohl Einmal- als auch wiederkehrende Belastungen unterstützt, und die Oberfläche auffrischen, damit die Apps die Prüfung von App Store und Google Play bestehen und neben lieferzentrierten Wettbewerbern aktuell wirken. Der Build musste Käufer in den USA und der Europäischen Union aus einer einzigen Codebasis bedienen, mit der Datenschutz-Aufstellung und den Offenlegungen, die Zielgruppen in den USA und der EU heute von jeder App erwarten, die ein Karten-Token und eine Treue-Identität hält. Wir behandelten es als Greenfield-Neuschreibung der Bestell- und Zahlungsdomäne — ein sauberes Laravel-und-React-Backend, natives Swift auf iOS und Kotlin auf Android — und übernahmen dabei den Menükatalog und die Treuedaten unverändert.
Ein Überblick darüber, was der Vilka-Lozhka-Neuaufbau über iOS, Android und ein sauberes Bestell-Backend in seinem ersten Produktivzyklus geliefert hat.

Die Entscheidung, die dieses Projekt dominierte, war Neuaufbau-gegen-Flicken. Die Alt-Apps hatten zwei Fehlerklassen, die besonders gefährlich inkrementell zu flicken sind: kaputte Zahlungsverdrahtung und unzuverlässige Warenkorb-Arithmetik. Beide liegen auf dem Geldpfad, wo ein achtloser Fix einen Kunden doppelt belastet oder eine Bestellung verliert, sodass das Jagen von Regressionen durch angesammelten Code langsamer und riskanter ist als eine disziplinierte Neuschreibung der Bestell- und Zahlungsdomäne. Wir haben außerdem White-Label-Restaurant-Bestell-SDKs bewertet und ausgeschlossen: Ihre Checkout-Abläufe konnten die bestehenden Treueregeln der Kette nicht abbilden, ihre Acquiring-Optionen enthielten nicht den vom Geschäft benötigten wiederkehrenden Zahlungspfad, und ihre Bundles blähten die IPA und APK über die Schwellenwerte hinaus auf, die der App Store für Mobilfunk-Installationen erzwingt.
Der native Weg auf einem sauberen Mobile-App-Entwicklungs-Stack — Swift auf iOS, Kotlin auf Android, ein Laravel-und-React-Backend — ermöglichte es uns, den Menükatalog und die Treuedaten zu übernehmen, während wir alles neu schrieben, was Zahlung, Warenkorbzustand und Bestellstatus berührt. Der nachstehende Vergleich ist die Begründung, die wir mit dem Kunden durchgegangen sind, bevor wir uns zum Neuaufbau verpflichtet haben.
| Dimension | Nativer Neuaufbau (Vilka-Lozhka) | Alt-Code flicken | White-Label-SDK |
|---|---|---|---|
| Stabilität des Zahlungspfads | Neu geschrieben auf einem Acquiring-Anbieter mit Idempotenz | Geerbte kaputte Apple-/Google-Pay-Verdrahtung | Anbieterfixiert; wiederkehrend oft nicht verfügbar |
| Wiederkehrende Zahlungen | Tokenisiert, von Tag eins an unterstützt | Nicht vorhanden; schwer sicher nachzurüsten | Vom Anbieter abhängig; selten flexibel |
| Treueregeln | Eigenes Hauptbuch, eigene Regeln der Kette erhalten | Fragile Zähler, anfällig für Beschädigung | Treuemodell des Anbieters, nicht das der Kette |
| App-Bundle-Größe | Schlanke native Binaries pro Plattform | Trägt toten Code und alte Abhängigkeiten | SDK-Aufblähung über Mobilfunk-Installationsgrenzen hinaus |
| Risiko der Store-Genehmigung | Saubere Datenschutzangaben, frische UI | Alt-Ablehnungen bleiben wahrscheinlich bestehen | Gemeinsame SDK-Ablehnungen betreffen alle Clients |
| Katalog- & Datenmigration | Menü + Treue unverändert übernommen | Im alten Schema festgefahren | Neumodellierung in das Anbieterschema |
| Langfristige Eigentümerschaft | Kunde besitzt vollständigen Quellcode und Roadmap | Besitzt brüchigen Code, Schulden häufen sich an | An Anbieterpreise und -Roadmap gebunden |
Plattform-Referenzen: Apple-StoreKit- und In-App-Zahlungsdokumentation, Google-Play-Billing-Referenz, PCI Security Standards Council.

Der iOS-Client ist in Swift entwickelt, und das Erste, was wir verschlankt haben, war der Anmeldeablauf. Die Alt-Apps fragten zu viel ab, bevor ein Kunde einen Preis sehen konnte; der neu aufgebaute Ablauf beginnt mit einem einzigen Telefonnummernfeld mit Ziffernblock und einer inline eingebetteten Einwilligung zur Nutzungsvereinbarung, sodass ein Erstkäufer nur einen SMS-Code vom Stöbern entfernt ist. Von dort führt der Katalog mit den Mittagsmenü-Kombis der Kette an — den margenstärksten, am schnellsten umschlagenden Artikeln — gefolgt von Salaten, Fischgerichten, Suppen und Beilagen, jeweils mit Vorschaubild, Preis und einem Stepper, der direkt in den Warenkorb schreibt, ohne ein Vollbild-Modal dazwischen.
Der Katalog ist datengetrieben aus dem Laravel-Backend, sodass das Betriebsteam Artikel neu bepreist, das Mittagsmenü des Tages austauscht und die Verfügbarkeit pro Standort umschaltet, ohne ein App-Release. Die Abhol-zuerst-Botschaft ist in den Startbildschirm eingebaut — eine Lieferadresse und eine Steuerung „Abholzeit angeben" sitzen über dem Katalog, und das Onboarding setzt die Erwartung, dass eine bauernfrische Bestellung in etwa 40 Minuten fertig ist. Dasselbe Engineering-Team führt iOS und Android im Gleichschritt im Rahmen unserer Praxis für iOS- und Android-Engineering, sodass sich Katalogmodell, Warenkorb-Mathematik und Treueregeln auf beiden Plattformen identisch verhalten.

Der Android-Client ist in Kotlin geschrieben und teilt das Warenkorb- und Bestellmodell über das Laravel-Backend mit iOS. Der Warenkorb ist der Ort, an dem eine Food-App Vertrauen gewinnt: Positionen sind gruppiert, jede trägt ihren eigenen Behälteraufschlag, wo das Menü es erfordert, und die laufende Summe wird sofort neu berechnet, wenn sich Stepper ändern — kein Spinner, kein Roundtrip pro Tippen, weil die Preisregeln clientseitig gespiegelt und erst beim Checkout gegen den Server abgeglichen werden. Dieses Muster aus Spiegeln-dann-Abgleichen hat die Warenkorb-Mathematik-Fehler beseitigt, die den Alt-Build plagten, bei dem die angezeigte Summe und die belastete Summe auseinanderdriften konnten.
Der Checkout fasst drei Entscheidungen auf einem Bildschirm zusammen: den Abholstandort, einen optionalen Bestellkommentar und eine vom Kunden verschiebbare Abholzeit, wobei die App die realistische Schätzung „in etwa 40 Minuten fertig" anzeigt, statt einen unmöglichen Zeitpunkt zu versprechen. Der Treue-Schalter befindet sich ebenfalls hier — ein Kunde kann Bonuspunkte für einen Rabatt von bis zu 30 % des Bestellwerts einsetzen, und der Rabatt wird serverseitig berechnet, sodass die Zahl, die der Kunde sieht, die Zahl ist, die Küche und Finanzteam sehen. Den Warenkorb und Checkout auf einer sauberen Grundlage zu bauen, ist die Art von individueller Softwareentwicklung, die sich in der ersten Woche auszahlt, in der eine Kette aufhört, Bestellungen am Zahlungsschritt zu verlieren.

Der Zahlungsneuaufbau war das Herzstück des Engagements. Wir haben die kaputte Wallet-Verdrahtung durch eine direkte Karten-Acquiring-Integration ersetzt, die das Backend steuert und sowohl eine Einmalbelastung als auch einen tokenisierten wiederkehrenden Pfad unterstützt, sodass ein wiederkehrender Kunde erneut bestellt, ohne Kartendaten neu einzugeben. Die Anwendung speichert niemals eine Kartennummer — der Acquiring-Anbieter gibt ein undurchsichtiges Token zurück, das dem Kundendatensatz zugeordnet ist, und jede Belastung läuft gegen dieses Token unter PCI-DSS-konformer Verarbeitung. Abwicklungs-Webhooks bestätigen, dass das Geld eingegangen ist, bevor die Bestellung an die Küche freigegeben wird, Idempotenzschlüssel machen Wiederholungsversuche sicher, sodass ein instabiles Netzwerk nie eine Doppelbelastung erzeugt, und Erstattungen werden gegen dasselbe Token abgestimmt, sodass das Betreiber-Dashboard nie der Realität widerspricht. Die Bestätigung „Ihre Bestellung wurde erfolgreich bezahlt" wird erst angezeigt, nachdem der Webhook durchgelaufen ist, nicht optimistisch.
Auf der Datenseite war der Neuaufbau von Anfang an für Zielgruppen in den USA und der EU strukturiert. Personenbezogene Daten werden auf die Telefonnummer und den Bestellverlauf minimiert, die eine Abholbestellung tatsächlich benötigt; das Treueguthaben ist ein Append-only-Hauptbuch statt eines veränderlichen Felds; und die Einwilligung wird bei der Registrierung explizit erfasst. Die Aufstellung erfüllt die DSGVO-Verpflichtungen für Nutzer in der Europäischen Union und die CCPA / CPRA-Verpflichtungen für Nutzer in Kalifornien und den übrigen USA.
Compliance-Aufstellung: DSGVO-konform · ISO-27001-bereit · SOC 2 Type II in Vorbereitung · HIPAA-fähig · CCPA-berücksichtigt.
Ein fünfphasiger Neuaufbau, der Vilka-Lozhka von einer kaputten Alt-App zu einem stabilen, store-genehmigten Release über iOS, Android und ein sauberes Bestell-Backend brachte.
Katalogisierung der kritischen Alt-Fehler, Kartierung des kaputten Zahlungspfads, Abgrenzung der zu übernehmenden Katalog- und Treuedaten und Festlegung der DSGVO- + CCPA-Aufstellung für US- und EU-Zielgruppen.
Sauberes Laravel-+-React-Backend, Schema für Katalog und Treue-Hauptbuch, Design der Acquiring-Integration mit Einmal- und tokenisierten wiederkehrenden Belastungen sowie idempotenten Abwicklungs-Webhooks.
Swift-iOS-Client und Kotlin-Android-Client mit einem gemeinsamen Bestellmodell: Telefon-Onboarding, Kombi-Katalog, Echtzeit-Warenkorb, Abholterminplanung und der Treue-Einlösungs-Schalter.
Durchgängige Zahlungs-QA — Verhinderung von Doppelbelastungen, Erstattungsabstimmung, Warenkorb-Mathematik-Parität zwischen Client und Server sowie PCI-DSS-konforme Token-Verarbeitung unter Last.
Einreichung in App Store und Google Play mit aufgefrischter UI und Datenschutzangaben über US- und EU-Storefronts, gefolgt von einem Fenster für Betreiber-Feedback und Stabilisierung.
Das Treueprogramm war das Subsystem, mit dem wir am vorsichtigsten waren, denn eine Restaurantkette steht und fällt damit, ob die Zahl, die ein Kunde beim Checkout sieht, mit dem übereinstimmt, was Küche und Finanzteam im Backoffice sehen. Wir haben das Guthaben als Append-only-Hauptbuch statt als veränderlichen Zähler gebaut: Punkte werden nur bei abgewickelten Bestellungen gutgeschrieben, Einlösungen sind pro Bestellung als Geschäftsregel begrenzt — ein Rabatt von bis zu 30 % des Bestellwerts — und jede Gutschrift oder Abbuchung ist ein Hauptbucheintrag, aus dem das Betreiber-Dashboard direkt liest. Dieses Design macht Streitfälle prüffähig und ermöglicht es der Kette, Aktionen durchzuführen, ohne historische Guthaben zu beschädigen, denn eine Aktion ist lediglich eine neue Gutschriftsregel, die über dieselbe unveränderliche Historie gelegt wird. Das Betreiber-Backoffice liest dieselbe einzige Quelle der Wahrheit wie die App, sodass ein Manager, der die Kasse abstimmt, nie raten muss, welches System maßgeblich ist. Das gesamte Subsystem wurde auf Erweiterbarkeit ausgelegt: Eine standortübergreifende Treuestufe, ein Empfehlungsbonus oder ein Firmenkonten-Programm hinzuzufügen, ist eine Konfigurationsänderung am Hauptbuch- und Berechtigungsdienst statt eines Client-Releases, was die Kette bei routinemäßigen Marketingänderungen vom Prüf-Hamsterrad von App Store und Google Play fernhält.
Die Vilka-Lozhka-Apps wurden so gebaut, dass sie in Apple App Store und Google Play mit aktiven Storefronts in den USA und der Europäischen Union aus einer einzigen Codebasis ausgeliefert werden. Derselbe Build bedient Käufer in Kalifornien, New York, Texas, Florida und Washington in den USA sowie in den Niederlanden, Deutschland, Frankreich, Irland und Schweden in der EU, ohne separate App pro Region. Einwilligungsabläufe sind auf der Client-Ebene regionsbewusst: Nutzer in der EU und im EWR erhalten einen DSGVO-artigen granularen Einwilligungsbildschirm mit separaten Schaltern für etwaige optionale Produktanalysen, während Nutzer in Kalifornien im selben Ablauf eine CCPA-artige Offenlegung „Do Not Sell or Share My Personal Information" erhalten. Die Datenverarbeitungspraktiken sind an der DSGVO für europäische Nutzer und am Flickenteppich der US-Bundesstaaten-Datenschutzgesetze ausgerichtet — CCPA / CPRA (Kalifornien), VCDPA (Virginia), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas) und Oregon CPA. Da die App personenbezogene Daten auf eine Telefonnummer und den Bestellverlauf minimiert, reduziert sich die regionale Compliance auf ehrliche Offenlegung statt auf Datentrennung pro Rechtsraum.
Zahlung und Acquiring waren der Bereich, den wir für einen marktübergreifenden Rollout am meisten gehärtet haben: Die tokenisierte Acquiring-Schicht abstrahiert den Anbieter hinter einer einzigen Schnittstelle, sodass das Austauschen oder Hinzufügen eines regionalen Acquirers für die USA oder EU eine Backend-Konfigurationsänderung statt eines Client-Neuaufbaus ist. Sowohl die Altersfreigabe im App Store als auch die Inhaltsfreigabe bei Google Play wurden für einen Essensbestell-Funktionsumfang mit Zahlungen kalibriert und verweisen in der In-App-Datenschutzerklärung direkt auf die DSGVO-Verpflichtungen und die kalifornischen CCPA-Verpflichtungen. Das Engineering-Team hinter der Entwicklung sitzt in der MEZ-Zeitzone und arbeitet einen MEZ-Arbeitstag mit Überlappung mit der US-Ostküste (9–13 Uhr ET) für Stand-ups, die Choreografie der Store-Prüfung und die Reaktion auf Störungen — die Zeitzone, die einem US-Produktteam und einem EU-Engineering-Team täglich vier Stunden Live-Überlappung verschafft.
Die aktive Roadmap für die individuelle Softwareentwicklung von Vilka-Lozhka umfasst einen Liefermodus neben dem aktuellen Abholablauf mit Kurierdisposition, eine standortübergreifende Treuestufe mit Firmenkonten, push-gesteuerte Nachbestell-Aufforderungen, die an das Treue-Hauptbuch gekoppelt sind, sowie eine Web-Bestelloberfläche, die dasselbe Laravel-Backend nutzt. Die Infrastrukturpläne umfassen das Hinzufügen eines zweiten regionalen Acquirers hinter der bestehenden tokenisierten Zahlungsschnittstelle für die US- und EU-Abdeckung sowie umfangreichere Betreiber-Analytik, eingebettet in die Cloud-&-DevOps-Roadmap, sodass die Kette Warenkorbgröße, Einlösungsrate und Abholzeit-Genauigkeit pro Standort nahezu in Echtzeit sehen kann.
Wenn Sie eine Restaurant- oder QSR-Bestell-App planen, eine kaputte Zahlungsintegration ersetzen oder eine veraltete Food-App neu aufbauen, die für Zielgruppen in den USA und der EU nicht mehr beim Checkout konvertiert, haben wir diesen Stack durchgängig ausgeliefert und können den Entwicklungszeitplan deutlich verkürzen. Die vollständige Fallstudie ist unter yusmpgroup.com/cases/vilka-losja (iOS und Android) dokumentiert, und das Engineering-Team dahinter sitzt innerhalb der YuSMP Group. Wir arbeiten zum Festpreis für gut abgegrenzte MVPs und mit dedizierten Entwicklerteams für die laufende Lieferung, mit einem MEZ-Arbeitstag und einem garantierten Überlappungsfenster mit der US-Ostküste (9–13 Uhr ET) für Stand-ups, Demos und die Reaktion auf Störungen.
Ein fokussiertes Bestell-MVP für eine Restaurantkette mit nativen iOS- und Android-Clients, einem Kombi-Katalog, einem Echtzeit-Warenkorb, einem Acquiring-Anbieter und Abholterminplanung kostet in der Regel 90.000–200.000 $. Mit einem Treueprogramm, wiederkehrender Abrechnung, Unterstützung mehrerer Standorte, Küchen- und Betreiberintegrationen sowie Analytik erreicht ein vollständig ausgestattetes Produkt 220.000–450.000 $. Die dominierenden Kostentreiber sind die Zahlungs- und Acquiring-Integration, die Treue- und Berechtigungslogik sowie das Gleichschalten zweier nativer Clients über iOS und Android.
Veraltete Essensbestell-Apps versagen meist zuerst auf dem Zahlungspfad und bei der Warenkorb-Mathematik, und das sind die Stellen, die am schwierigsten sicher zu flicken sind, weil jede Korrektur riskiert, doppelt abzubuchen oder eine Bestellung zu verlieren. Wenn die Acquiring-Integration kaputt ist und die Codebasis kritische Fehler angesammelt hat, führt ein disziplinierter Neuaufbau auf einem sauberen Laravel-Backend mit nativen Swift- und Kotlin-Clients schneller zu einem stabilen, store-genehmigten Release, als Regressionen durch alten Code zu jagen. Wir haben die Katalog- und Treuedaten übernommen und gleichzeitig den Bestell- und Zahlungsablauf von Grund auf neu geschrieben.
Karten-Acquiring für eine Food-App benötigt sowohl Einmalbelastungen als auch einen tokenisierten wiederkehrenden Pfad, sodass wiederkehrende Kunden erneut bestellen können, ohne Kartendaten neu einzugeben. Die App speichert niemals die vollständige Kartennummer — der Acquiring-Anbieter gibt ein undurchsichtiges Token zurück, das dem Kundendatensatz zugeordnet ist, und das Backend bucht gegen dieses Token unter PCI-DSS-konformer Verarbeitung. Webhooks bestätigen die Abwicklung, bevor die Bestellung an die Küche freigegeben wird, Idempotenzschlüssel verhindern Doppelbelastungen bei Wiederholungsversuchen, und Erstattungen werden gegen dasselbe Token abgestimmt, sodass das Betreiber-Dashboard konsistent bleibt.
Ein Treueprogramm benötigt eine einzige Quelle der Wahrheit für das Guthaben, aus der sowohl die App als auch das Betreiber-Backoffice lesen, sodass die Zahl, die ein Kunde beim Checkout sieht, immer mit dem übereinstimmt, was Küche und Finanzteam sehen. Punkte werden nur bei abgewickelten Bestellungen gutgeschrieben, Einlösungen sind pro Bestellung als Geschäftsregel begrenzt (hier ein Rabatt von bis zu 30 % des Bestellwerts), und jede Gutschrift oder Abbuchung ist ein Append-only-Hauptbucheintrag statt eines veränderlichen Zählers. Dieses Hauptbuch macht Streitfälle prüffähig und ermöglicht es der Kette, Aktionen durchzuführen, ohne historische Guthaben zu beschädigen.
Ein fokussiertes MVP mit nativen iOS- und Android-Clients, einem Kombi-Katalog, einem Echtzeit-Warenkorb, einem Acquiring-Anbieter und Abholterminplanung dauert in der Regel 10–16 Wochen. Ein Treueprogramm, wiederkehrende Abrechnung, Unterstützung mehrerer Standorte und Betreiberintegrationen kommen mit 6–10 Wochen hinzu. Der Store-Genehmigungsdurchlauf — Datenschutzangaben, Prüfung der Zahlungsrichtlinien und die Einreichungs-Choreografie für App Store und Google Play — wird häufig unterschätzt und sollte mit 3–5 Wochen dedizierter Arbeit eingeplant werden.
Verwandte Fallstudien
Eine Essenslieferplattform mit Echtzeit-Bestellung, Kurierdisposition und Zahlungsabläufen in den USA & der EU.
Fallstudie ansehen → Restaurant · FoodEin Restaurant-Bestellerlebnis mit Menükatalog, Warenkorb und Abholung — native mobile Entwicklung für Gäste in den USA & der EU.
Fallstudie ansehen → Retail · E-CommerceEine omnichannelfähige Retail-Commerce-Entwicklung mit Katalog, Warenkorb, Treueprogramm und Zahlung über US- & EU-Storefronts.
Fallstudie ansehen →