Skip to content

gastro-saas / allein entwickelt · live

aktualisiert

Reservierungs-App für einen Anbieter von Gastro-Software.

Ein Anbieter von Gastro-Software brauchte eine App für das Personal im Service: Reservierungen, Tische, Walk-ins. Ich habe sie in fünf Monaten allein entwickelt, vom ersten Screen bis zur Veröffentlichung im App Store und bei Google Play. Heute nutzen sie über 100 Restaurants.

Rolle
Alleiniger Entwickler
Dauer
5 Monate bis zum Launch
Plattformen
iOS und Android, Smartphone und Tablet
Stack
Flutter, Riverpod, bestehendes Node.js-Backend, WebSockets
Restaurants nutzen die App
100+
Monate vom ersten Screen bis in beide Stores
5
automatisierte Tests
~1.200
Sprachen
6
Tischplan, schematisch
Live-Sync, schematisch
  1. 01 Drag & Drop Jemand zieht eine Reservierung auf einen Tisch oder verschiebt sie in der Zeitleiste. Die App aktualisiert sofort, mit Rückgängig.
  2. 02 Bestehendes Node.js-Backend Die Änderung geht an das Backend, das der Anbieter bereits betreibt.
  3. 03 WebSocket Das Backend schickt das Update an alle verbundenen Geräte.
  4. 04 Alle Geräte Tischplan, Zeitleiste und Board aktualisieren sich überall. Nach einem Verbindungsabbruch verbindet sich die App neu und lädt den Tag nach.

Die Aufgabe

Im laufenden Service muss das Personal auf einen Blick sehen, welche Tische frei sind, wer als Nächstes kommt und wer noch wartet. Der Anbieter hatte bereits ein Node.js-Backend mit den Reservierungsdaten. Was fehlte, war eine App für die Leute im Service.

Der Tischplan

Die App ist um den Tischplan herum gebaut: jeder Raum des Restaurants mit seinen Tischen, so wie sie wirklich stehen, rund oder eckig, mit einem Stuhl pro Platz. Die Farbe eines Tisches zeigt den Status seiner Reservierung, die gefärbten Stühle zeigen, wie viele Gäste dort sitzen. Ein Badge zählt, wie lange sie schon sitzen, und wird rot, sobald der Aufenthalt überzieht. Ein freier Tisch zeigt, wann die nächste Buchung kommt.

Reservierungen ohne Tisch warten in einer Liste neben dem Plan. Das Personal hält eine Karte kurz gedrückt und zieht sie auf einen Tisch. Schon beim Ziehen leuchten die Tische auf, die für die ganze Buchung frei und groß genug für die Gruppe sind. Ist ein Tisch zu klein oder schon belegt, fragt die App nach, bevor sie ihn trotzdem zuweist. Auf einem besetzten Tisch bietet sie an, die beiden Gruppen zu tauschen oder beide dort zu platzieren. Genauso wandern Gäste von Tisch zu Tisch, und wer vor dem Ziehen lange drückt, nimmt für eine größere Gruppe einen zweiten Tisch dazu.

Ein Zeitregler am unteren Rand schaut voraus: Auf 20:00 gestellt, zeigt der Plan den Raum, wie er dann aussieht. So lässt sich schon morgens der Abend vorbereiten. Ein Tipp auf eine Reservierung springt zu ihrer Ankunftszeit. Auf dem Smartphone füllt der Plan den Bildschirm, die Liste liegt in einem Panel darunter.

Zwei weitere Ansichten auf denselben Abend

  • Zeitleiste: der Abend als Gantt-Diagramm, Tische untereinander, die Zeit nach rechts, mit einer Live-Linie für „jetzt“. Buchungen lassen sich auf einen anderen Tisch oder eine andere Uhrzeit ziehen, ein Doppeltipp auf eine freie Stelle legt eine neue an.
  • Kanban-Board: Jede Reservierung ist eine Karte in einer von vier Spalten: Warteliste, erwartet, platziert, abgeschlossen. Wer eine Karte verschiebt, setzt ihren Status.

Alles, was der Service sonst braucht

Walk-ins und eine Warteliste. Ein Buchungsassistent mit Verfügbarkeitsprüfung und wiederkehrenden Buchungen. Ein Gästebuch mit Notizen, Ernährungswünschen und einer No-Show-Warnung. Freigabe von Online-Anfragen, ein Kalender mit Tageszahlen und ein Schicht-Briefing als PDF. Jede Änderung lässt sich rückgängig machen, und Mitarbeiter-Codes halten fest, wer sie gemacht hat. Die App spricht sechs Sprachen, kommt mit hellen und dunklen Themes und hat eigene Layouts für Smartphone und Tablet.

Alle Geräte auf demselben Stand

Im Restaurant arbeiten mehrere Personen gleichzeitig mit denselben Reservierungen. Zeigt ein Gerät einen alten Stand, landen zwei Gruppen am selben Tisch. Deshalb erscheint eine Änderung sofort auf dem Gerät, auf dem sie passiert, geht ans Backend, und das Backend schickt sie über WebSockets an alle anderen Geräte. Bricht die Verbindung ab, verbindet sich die App von selbst neu und lädt den Tag nach, damit kein Update verloren geht.

Funktioniert auch, wenn das WLAN streikt

Die App hält einen lokalen Cache pro Restaurant und stellt offline gemachte Änderungen in eine Warteschlange. Sobald die Verbindung zurück ist, geht die Warteschlange mit Wiederholungen raus, und jede Änderung trägt eine ID, damit keine Buchung doppelt entsteht.

Ergebnis

Fünf Monate nach dem ersten Screen war die App in beiden Stores live. Heute nutzen sie über 100 Restaurants. Rund 1.200 automatisierte Tests laufen bei jedem Pull Request, und Releases gehen über eine Fastlane-Pipeline an TestFlight und Google Play. Ein neues Backend war nicht nötig: Die App arbeitet mit dem, das der Anbieter bereits betreibt.

Für denselben Anbieter habe ich außerdem einen White-Label-App-Generator und einen WhatsApp-KI-Assistenten gebaut.

Nächstes Projekt White-Label-App-Generator: Kunden-Apps in Stunden statt Wochen

Erzählen Sie mir,
was Sie brauchen.

Termin buchen

Oder per E-Mail hello@asisto.io

Lieber schreiben als telefonieren? Kein Problem: Alles geht auch schriftlich, von der ersten Nachricht bis zur Übergabe.

So geht es weiter

  1. Diese Woche
    Kennenlernen per Call oder schriftlich
  2. Innerhalb von 48 Stunden
    Schriftliches Angebot
  3. Meist innerhalb von 2 Wochen
    Projektstart
  4. Zum Schluss
    Übergabe und 30 Tage Support