Features
Detaillierte Feature-Übersicht von Los Santos Eats.
Bestellungszyklus
Bestellungen folgen einer Statemachine:
PLACED → PREPARING → READY → COURIER_SEARCH → ACCEPTED → PICKED_UP → EN_ROUTE → DELIVERED
- Abbruch ist von jedem nicht-terminalen Zustand möglich.
- Wird innerhalb von
CourierSearchTimeoutkein Kurier gefunden, wird die Bestellung automatisch storniert und erstattet. - Lässt ein Kurier die Bestellung fallen, kehrt sie zu
COURIER_SEARCHzurück.
Store-Management
Store-Registry
Stores werden in Config.Stores definiert und in eats_stores.metadata persistiert. Laufzeitänderungen (Liefergebühr, Aktivierungszustand) werden über die Phone-App gespeichert.
Menü-Management
- Seed-Menü definiert Anfangsprodukte und Preise.
- Manager können Preise innerhalb von 75%-125% des Seed-Preises bearbeiten.
menuCatalogdefiniert genehmigte Produkte zum Hinzufügen zum Menü.- Max. Artikel und Preisänderungsprozentsatz pro Store konfigurierbar.
Store-Zustände
- Geöffnet/Geschlossen — Über Phone-App umschalten.
- Auto-ready — Bestellungen überspringen den
READY-Zustand.
Kurier-Lieferung
Bestellungen akzeptieren
- Kuriere sehen verfügbare Bestellungen in der Phone-App.
- Musten die konfigurierte Jobrolle haben (
Config.CourierJobs). - Begrenzt auf
MaxConcurrentDeliveriesgleichzeitig.
Abholung & Zustellung
- Kurier reist zum Store-Standort.
Holt Bestellung innerhalb von
PickupDistanceab. - Reist zum Kundenstandort.
- Zustellt innerhalb von
DropoffDistance.
Liefermodi
- Direkt — Food wird bei Zustellung automatisch zum Kundeninventar hinzugefügt.
- Kurier — Kurier erhält Food bei Abholung, übergibt manuell (RP-Modus).
Venue Self-Delivery
Wenn aktiviert, können Venue-Mitarbeiter ihre eigenen Bestellungen zustellen, wenn kein Kurier annimmt.
Zahlungssystem
Zahlungsmethoden
- Bargeld — Vom Spielerkonto abgezogen.
- Bank — Vom Bankkonto abgezogen.
- Karte — Per tgg-banking-Kartengebühr.
- Gesellschaft — Vom Gesellschaftskonto abgezogen (mindestens Grad erforderlich).
Gesellschaftszahlungen
Einnahmen fließen auf das Gesellschaftskonto des Stores. Unterstützt:
- Renewed-Banking
- tgg-banking
- qb-banking / qb-management
- okokBanking
- codem-bank
Erstattungen
- Automatische Erstattung bei Bestellungsstornierung.
- Erstattungsmethode entspricht Zahlungsmethode.
- Nachnahme-Bestellungen werden per
Payouts.payerstattet.
Aktionen
Store-Manager können Aktionen erstellen:
- Prozentrabatt — Bis zu
MaxPromoPercent(Standard: 30%). - Pauschalrabatt — Bis zu
MaxPromoFlat(Standard: $500). - Aktionen gelten für den Bestellwert vor Liefergebühr.
Kunden-Features
Favoriten
- Lieblingsstores für schnellen Zugriff speichern.
- Pro Spieler in Datenbank gespeichert.
Adressen
- Lieferadressen speichern.
- Benannte Standorte für einfache Auswahl.
Bewertungen
- Stores nach Lieferung bewerten.
- In Datenbank gespeichert.
Phone-Apps
npwd
- Externe App-API-Integration.
- React-basierte UI mit Hot-Reload-Unterstützung.
lb-phone
- Benutzerdefinierte App-Integration.
- Vue.js-basierte UI.
qb-phone
- iframe-basierte UI-Integration.
- Patched qb-phone, um die App zu hosten.
Merchant-Onboarding
Mitarbeiter können neue Stores über die Phone-App erstellen:
- Mitarbeiter greift auf Onboarding zu.
- Gibt Store-Details ein (Name, Standort, Menü).
- Store wird mit Standardeinstellungen erstellt.
- Manager kann dann über App anpassen.
Erfordert Config.MerchantOnboarding.Enabled = true.
Nachnahme (COD)
Wenn aktiviert:
- Kunde wählt Nachnahme-Zahlung.
- Kurier sammelt Bargeld bei Zustellung.
- Kurier zahlt Bargeld auf Gesellschaftskonto ein.
Serverseitig validiert zur Exploit-Verhinderung.
Sicherheit
- Alle Preise serverseitig validiert.
- Items gegen Inventar verifiziert.
- Berechtigungen bei jeder Aktion geprüft.
- Rate-Limiting bei Kurier-Suche und Venue-Akzeptanz.
- Max. Artikelpreis und Menügrößen-Obergrenzen.