Platform
Infrastrukturen bag butiksfacaden.
Én backend driver Backoffice, POS og Guests — de samme OAuth2-, REST- og SignalR-tjenester ligger under hver eneste skærm. Realtid som standard, multi-tenant pr. sub-merchant og åben i kanterne via et Partner API og udgående webhooks. Robust nok til at drive mere end ét sted.
Problemet
En stak apps, der ikke taler sammen, integrationer du passer på, og data der stille skrider
De fleste hospitality-stakke er tre leverandører hæftet sammen — en POS her, et QR-bestillingsværktøj der, en betalingsboks der synkroniserer efter et skema. Det er i sømmene, du taber penge og tillid.
Menuer ude af sync
Prisen, du ændrede på kassen, når aldrig frem til den QR-menu, gæsten sidder og kigger på.
Integrationer du selv vedligeholder
Hver connector er endnu en ting, der bryder sammen en fredag aften — og lander hos dig.
Ét sted er loftet
At tilføje endnu et sted betyder endnu en stak, endnu et login og afstemning i hånden.
Live-sync
Ret det én gang — det er overalt, før du kigger op
Når en entitet ændres, sender SignalR en cache-invalidering, og hver forbundet app henter selv data på ny. Ingen eksport, ingen genindlæsning, ingen ventetid.
Lav en ændring
Rygraden
Rygraden under hver skærm.
Fire idéer trækker det tunge læs: én kerne, realtids-push, tenant-isolation og åbne kanter. Alt andet er bygget ovenpå dem.
- 01 Kerne
Én kerne bag hver skærm
Backoffice, POS og Guests deler de samme tjenester — OAuth2, REST og SignalR i realtid, med baggrundsjobs og en event-bus under — så der er én kilde til sandhed, ikke tre der skændes.
- 02 Sync
Push, ikke poll
SignalR sender cache-invalideringer i samme øjeblik en entitet ændres, og hver app henter automatisk data på ny. Falder en enhed af, fanger et poll på ~30 sekunder den ind igen.
- 03 Isolation
Multi-tenant pr. sub-merchant
Hvert API-kald er afgrænset til den aktive sub-merchant, så ét sted aldrig skrider ind i et andet. Tilføj et sted som konfiguration — ingen ny stak, der skal rejses ved siden af den forrige.
- 04 Forbind
Åben i kanterne
POS-integrationer, acquirer- og leveringskonfigurationer, et dedikeret Partner API og udgående webhooks — platformen kobler sig på det, du allerede kører, i stedet for at lukke dig inde.
Det, du reelt køber
Infrastruktur du kan bygge en forretning på.
En rigtig multi-tenant-platform, du kan koble dig på, parre enheder mod og drive på tværs af mere end ét sted.
Én backend, tre apps
Backoffice til konfiguration, POS med indbygget KDS-tilstand og QR-appen Guests — ét sæt fælles tjenester nedenunder, fra auth over realtid til ESC/POS-print.
Realtid via SignalR
Cache-invalideringer sendes ved hver entitetsændring, og apps henter data på ny med det samme — en gæsts QR-bestilling lander live på POS og i køkkenet, med et poll-fallback på ~30s.
Multi-tenant pr. sub-merchant
Hvert kald er afgrænset til den aktive sub-merchant, så ét sted aldrig lækker ind i et andet — kør et enkelt sted eller en hel kæde på den samme backend.
OAuth2, JWT & enhedsparring
En skræddersyet Quivi.OAuth2-server på ASP.NET Identity udsteder OAuth2 + JWT med automatisk fornyelse. POS-enheder parres med en enhedsautorisationskode fra Backoffice og kører derefter på en JWT uden fornyet login.
Integrationer, Partner API & webhooks
Quivi-native eller Facturalusa POS-integrationer, acquirer-konfigurationer (Cash, Paybyrd, Revolut Pay, MB Way) og levering — plus et separat Partner API og udgående webhooks til BI og aggregatorer.
PT/DK-momsoverholdelse
Live i Portugal og Danmark med lokaltilpasset NIF/CVR-validering, postnumre og valuta, fakturering via Quivi-native eller Facturalusa og fuld sporbarhed på refunderinger.
Kør ét sted eller en hel kæde — ingen cross-tenant-lækage.
Hvert API-kald er afgrænset til sin sub-merchant, og POS genindlæser, hver gang den aktive tenant skifter, så alle caches holdes konsistente. At tilføje et sted er konfiguration i Backoffice — ikke endnu en stak, der skal rejses og afstemmes.
Én backend · mange steder · afgrænset pr. kald
Bindevævet
Én backend, hver Quivi-flade.
Point of Sale, Betalinger og AI-assistenten er ikke påklistrede produkter — de er flader på den samme backend, der læser den samme realtidssandhed. Konfigurér det én gang i Backoffice, og det er præcis det, gulvet sælger, det terminalen opkræver, og det assistenten handler på.
Se platformen fra ende til ende
Tag dine arkitekturspørgsmål med — multi-site, auth, webhooks, moms. Vi går arkitekturen igennem og viser, hvordan din stak kobler sig på.