[{"data":1,"prerenderedAt":481},["ShallowReactive",2],{"portfolio-de-/de/portfolio/zayoto":3},{"project":4,"isFallback":462},{"id":5,"title":6,"body":7,"description":421,"extension":433,"head":434,"meta":435,"navigation":468,"path":469,"schemaOrg":434,"seo":470,"sitemap":473,"stem":479,"__hash__":480},"portfolio_de/de/portfolio/zayoto.md","Zayoto – SaaS-Plattform und Marktplatz für Mietwagen und Transfers",{"type":8,"value":9,"toc":420},"minimark",[10,15,19,22,30,33,37,43,50,53,63,65,69,72,78,85,118,121,128,134,143,145,149,156,175,178,180,184,187,193,200,203,206,208,212,218,224,230,236,244,256,258,262,362,365,367,371,374,386,389,391,395,405,407],[11,12,14],"h2",{"id":13},"ein-produkt-kein-auftragsprojekt","Ein Produkt, kein Auftragsprojekt",[16,17,18],"p",{},"Zayoto ist das einzige Projekt in diesem Portfolio, das nicht für einen Kunden entstanden ist. Wir haben es gebaut, weil uns bei Websites für Mietwagen- und Transferagenturen in Montenegro immer wieder dasselbe Problem begegnet ist.",[16,20,21],{},"Eine Agentur hat zehn bis dreißig Fahrzeuge, führt sie in einer Tabelle, nimmt Buchungen über WhatsApp und Telefon entgegen, und die Website ist ein Katalog ohne Bezahlfunktion. Im Sommer ist zu viel los, um etwas zu ändern. Im Winter fehlt der Umsatz, um es zu bezahlen. Eine Individuallösung kostet etwa eine halbe Saison.",[16,23,24,25,29],{},"Zayoto ist die Antwort darauf: ",[26,27,28],"strong",{},"eine Plattform, die die Agentur monatlich bezahlt",", mit eigener Website inklusive Zahlung, Admin-Panel für Flotte und Buchungen sowie Zugang zu einem Marktplatz, der Gäste bringt.",[31,32],"hr",{},[11,34,36],{"id":35},"zwei-seiten-derselben-plattform","Zwei Seiten derselben Plattform",[16,38,39,42],{},[26,40,41],{},"Für Gäste"," ist Zayoto ein Marktplatz. Sie geben Stadt und Zeitraum ein und sehen alle Angebote aller Agenturen in einer Übersicht, zu einem Endpreis. Keine Überraschungen am Schalter.",[16,44,45],{},[46,47],"img",{"alt":48,"src":49},"Zayoto – Fahrzeugsuche mit Preisen mehrerer Agenturen","/portfolio/zayoto/search.webp",[16,51,52],{},"Die Suche liefert Angebote gruppiert nach Kategorie und Getriebe, mit klar benannten Bedingungen: unbegrenzte Kilometer, Kaution oder keine Kaution, kostenlose Stornierung, Basisversicherung, Tankregelung voll zu voll. Der Preis wird immer pro Tag und als Gesamtpreis für den gewählten Zeitraum angezeigt.",[16,54,55,58,59,62],{},[26,56,57],{},"Für Agenturen"," ist Zayoto ein Betriebssystem. Fuhrpark, Kategorien, Saisonpreise, Buchungen, Kunden, Verträge mit elektronischer Unterschrift, Rechnungen, Rabattcodes, Benutzerrollen und ein Aktivitätsprotokoll. Dazu ",[26,60,61],{},"SiteBuilder",", ein Modul mit 21 Ansichten, über das die Agentur Aussehen und Inhalt ihrer eigenen Buchungsseite selbst einstellt.",[31,64],{},[11,66,68],{"id":67},"transfers-waren-der-schwierigere-teil","Transfers waren der schwierigere Teil",[16,70,71],{},"Mietwagen ist Logistik. Transfers sind Rechnerei.",[16,73,74],{},[46,75],{"alt":76,"src":77},"Zayoto – Transfersuche mit Festpreisen je Strecke","/portfolio/zayoto/transfers.webp",[16,79,80,81,84],{},"Der Transferpreis hängt von Strecke, Entfernung, Fahrzeugklasse, Tageszeit und Saison ab. Wir haben eine Preisberechnung gebaut, die die erste passende Regel nimmt, über ",[26,82,83],{},"fünf Stufen der Reihe nach",":",[86,87,88,94,100,106,112],"ol",{},[89,90,91],"li",{},[26,92,93],{},"Der Preis, den die Agentur für eine gelistete Strecke eingetragen hat",[89,95,96,99],{},[26,97,98],{},"Ein Zonenpaar-Preis aus der Matrix",", pauschal, je Fahrzeugklasse oder pro Kilometer",[89,101,102,105],{},[26,103,104],{},"Der eigene Satz der Zone",", für Fahrten innerhalb der Zone",[89,107,108,111],{},[26,109,110],{},"Der Kilometersatz",", mit Staffeln je Fahrzeugklasse oder gemeinsamen Staffeln",[89,113,114,117],{},[26,115,116],{},"Der Mindestbetrag"," als Untergrenze",[16,119,120],{},"Erst danach greifen die gemeinsamen Modifikatoren, immer in derselben Reihenfolge: Preisniveau je Fahrzeugklasse, Saison, Zuschlag nach Tageszeit, Ortsgebühren. Das Ergebnis ist nicht nur eine Zahl: Die Berechnung liefert eine lesbare Zeile wie „Grundsatz 1,20 € pro km × 67 km\", damit der Gast sieht, woher der Preis kommt. Die Regeln zur Mindestvorlaufzeit stehen getrennt vom Preis und entscheiden, ob eine Fahrt überhaupt buchbar ist.",[16,122,123,124,127],{},"Zonen sind keine Ortsliste, sondern ",[26,125,126],{},"echte GeoJSON-Polygone",", die die Agentur im Admin mit der Maus auf einer Karte zeichnet. Die Entfernung wird über vier Stufen ermittelt: Cache in der Datenbank (30 Tage, inklusive Routenverlauf), dann Google Directions, dann Distance Matrix, dann die Haversine-Formel. Der Gedanke dahinter ist einfach: Die Seite liefert immer einen Preis, auch wenn Google nicht erreichbar ist.",[16,129,130],{},[46,131],{"alt":132,"src":133},"Zayoto – SEO-Landingpage für Transfers ab Flughafen Podgorica","/portfolio/zayoto/airport-hub.webp",[16,135,136,137,142],{},"Die Flughäfen Podgorica und Tivat haben eigene Einstiegsseiten, und jede häufige Strecke bekommt eine automatisch erzeugte Seite mit Festpreis. Warum das wichtig ist, erklären wir im Beitrag ",[138,139,141],"a",{"href":140},"/de/blog/website-mietwagenagentur-leitfaden","Website für eine Mietwagenagentur",".",[31,144],{},[11,146,148],{"id":147},"_21-sprachen-auf-zwei-ebenen","21 Sprachen, auf zwei Ebenen",[16,150,151,152,155],{},"Gäste, die in Montenegro ein Auto suchen, kommen aus ganz Europa. Die Plattform läuft in ",[26,153,154],{},"21 Sprachen",": Englisch, Serbisch, Montenegrinisch, Kroatisch, Bosnisch, Deutsch, Russisch, Französisch, Italienisch, Spanisch, Polnisch, Ungarisch, Türkisch, Albanisch, Slowakisch, Slowenisch, Ukrainisch, Niederländisch, Dänisch, Schwedisch und Norwegisch.",[157,158,162,163,162,167,162,171],"div",{"className":159},[160,161],"markdown-image-grid","markdown-image-grid--thumbs","\n  ",[46,164],{"src":165,"alt":166},"/portfolio/zayoto/lang-me.webp","Zayoto – Startseite auf Montenegrinisch",[46,168],{"src":169,"alt":170},"/portfolio/zayoto/lang-de.webp","Zayoto – Startseite auf Deutsch",[46,172],{"src":173,"alt":174},"/portfolio/zayoto/lang-ru.webp","Zayoto – Startseite auf Russisch",[16,176,177],{},"Die Übersetzung arbeitet auf zwei Ebenen. Die Oberfläche kommt aus Sprachdateien, während Inhalte, die Agenturen selbst eingeben (Kategorienamen, Bedingungen, Seiten), über eine Übersetzungstabelle in der Datenbank laufen. Wie viele Sprachen eine Agentur aktivieren kann, hängt vom Tarif ab.",[31,179],{},[11,181,183],{"id":182},"abonnements-die-auch-durchgesetzt-werden","Abonnements, die auch durchgesetzt werden",[16,185,186],{},"Drei öffentlich ausgepreiste Tarife, Starter für 99 €, Growth für 149 € und Pro für 199 € im Monat zuzüglich einer Gebühr je Fahrzeug, dazu Enterprise auf Anfrage. Jährliche Zahlung wird als zehn Monate berechnet. Jeder Tarif beginnt mit fünfzehn Tagen kostenloser Testphase.",[16,188,189],{},[46,190],{"alt":191,"src":192},"Zayoto – Abo-Tarife für Agenturen","/portfolio/zayoto/pricing.webp",[16,194,195,196,199],{},"Spannend war hier nicht die Preisliste, sondern die Durchsetzung. Wir haben eine Verbrauchsmessung je Mandant gebaut und eine ",[26,197,198],{},"Eskalation in vier Schritten",": normal, sanfte Warnung bei 80 Prozent des Limits, siebentägige Kulanzfrist über 100 Prozent, dann harte Sperre. Es gibt keinen Fall, in dem eine Agentur mitten in der Saison ohne jede Warnung den Zugang verliert.",[16,201,202],{},"Funktionen werden je Tarif über eine eigene Schicht freigeschaltet, sodass sich etwa Webhooks oder das Transfermodul ohne Codeänderung ein- und ausschalten lassen.",[16,204,205],{},"Der Marktplatz hat eine eigene, vom Abonnement getrennte Ökonomie: Eine Buchung, die über den Marktplatz eingeht, trägt eine Provision, mit einem je Agentur vereinbarten Satz und einem Mindestbetrag je Buchung.",[31,207],{},[11,209,211],{"id":210},"unter-der-haube","Unter der Haube",[16,213,214,217],{},[26,215,216],{},"Backend:"," PHP 8.4, Laravel 12, Inertia.js 2, Laravel Cashier mit Stripe für Abonnements und Zahlungen, Spatie Permission, Sentry, Twilio für SMS, Web Push, DomPDF für Verträge und Rechnungen, MySQL und Redis.",[16,219,220,223],{},[26,221,222],{},"Admin:"," Vue 3.5 mit TypeScript, Tailwind CSS, shadcn-vue-Komponenten, Leaflet mit leaflet-draw und Turf.js zum Zeichnen der Zonen, FullCalendar für den Buchungskalender, signature_pad für die elektronische Vertragsunterschrift.",[16,225,226,229],{},[26,227,228],{},"Öffentlicher Teil:"," Blade in einem eigenen Bundle, Alpine.js, Swiper, Flatpickr.",[16,231,232,235],{},[26,233,234],{},"Qualität:"," 177 Testdateien (Pest) und Playwright-End-to-End-Tests.",[16,237,238,239,243],{},"Die Mandantenfähigkeit läuft über einen automatischen globalen Filter auf Modellebene, wobei die Erkennung des Mandanten nach Domain, Subdomain oder Kontext getrennt behandelt wird. Jede Agentur kann unter ",[240,241,242],"code",{},"name.zayoto.com"," oder unter einer eigenen Domain laufen.",[16,245,246,247,251,252,142],{},"Wie wir solche Systeme angehen, beschreiben wir auf den Seiten ",[138,248,250],{"href":249},"/de/leistungen/systemintegrationen","Systemintegrationen"," und ",[138,253,255],{"href":254},"/de/leistungen/strategie-architektur","Strategie und Architektur",[31,257],{},[11,259,261],{"id":260},"umfang","Umfang",[263,264,265,278],"table",{},[266,267,268],"thead",{},[269,270,271,275],"tr",{},[272,273,274],"th",{},"Position",[272,276,277],{},"Wert",[279,280,281,290,298,306,314,322,330,338,346,354],"tbody",{},[269,282,283,287],{},[284,285,286],"td",{},"Datenmodelle",[284,288,289],{},"107",[269,291,292,295],{},[284,293,294],{},"Datenbankmigrationen",[284,296,297],{},"232",[269,299,300,303],{},[284,301,302],{},"Controller",[284,304,305],{},"142",[269,307,308,311],{},[284,309,310],{},"Serviceklassen",[284,312,313],{},"80",[269,315,316,319],{},[284,317,318],{},"Admin-Ansichten (Vue)",[284,320,321],{},"181",[269,323,324,327],{},[284,325,326],{},"Vue-Komponenten",[284,328,329],{},"162",[269,331,332,335],{},[284,333,334],{},"Blade-Templates",[284,336,337],{},"295",[269,339,340,343],{},[284,341,342],{},"Definierte Routen",[284,344,345],{},"450",[269,347,348,351],{},[284,349,350],{},"Unterstützte Sprachen",[284,352,353],{},"21",[269,355,356,359],{},[284,357,358],{},"Testdateien",[284,360,361],{},"177",[16,363,364],{},"Allein das Transfermodul umfasst 70 Migrationen und 24 Modelle und ist damit der schwerste Teil der Plattform.",[31,366],{},[11,368,370],{"id":369},"wo-zayoto-heute-steht","Wo Zayoto heute steht",[16,372,373],{},"Die Plattform läuft im Produktivbetrieb hinter Cloudflare, mit einem Marktplatz in 21 Sprachen und Abdeckung für Podgorica, Tivat und Kotor. Die erste Agentur ist im Pilotbetrieb.",[16,375,376,377,251,381,385],{},"Zayoto ist zugleich die Marke, unter der wir unsere Transferprojekte führen. ",[138,378,380],{"href":379},"/de/portfolio/podgorica-airport-taxi","Podgorica Airport Taxi",[138,382,384],{"href":383},"/de/portfolio/elite-ride","Elite Ride"," tragen den Zayoto-Vermerk im Fußbereich, und die Erfahrung aus beiden hat das Transfermodul der Plattform geprägt.",[16,387,388],{},"Wir arbeiten weiter an OTA-Konnektoren und einer Partner-API.",[31,390],{},[11,392,394],{"id":393},"zur-plattform","Zur Plattform",[16,396,397],{},[26,398,399],{},[138,400,404],{"href":401,"rel":402},"https://zayoto.com",[403],"nofollow","zayoto.com",[31,406],{},[16,408,409,410,414,415,419],{},"Wenn Sie eine Mietwagen- oder Transferagentur führen und ein System brauchen, das kassiert und Gäste bringt, ",[138,411,413],{"href":412},"/de/kontakt","melden Sie sich",". Sehen Sie sich auch die anderen ",[138,416,418],{"href":417},"/de/portfolio","Projekte in unserem Portfolio"," an.",{"title":421,"searchDepth":422,"depth":422,"links":423},"",2,[424,425,426,427,428,429,430,431,432],{"id":13,"depth":422,"text":14},{"id":35,"depth":422,"text":36},{"id":67,"depth":422,"text":68},{"id":147,"depth":422,"text":148},{"id":182,"depth":422,"text":183},{"id":210,"depth":422,"text":211},{"id":260,"depth":422,"text":261},{"id":369,"depth":422,"text":370},{"id":393,"depth":422,"text":394},"md",null,{"slug":436,"industry":437,"location":438,"countryCode":439,"year":440,"date":441,"cover":442,"gallery":445,"results":448,"pattern":457,"draft":462,"readingTime":463},"zayoto","SaaS und Reisetechnologie","Crna Gora","ME",2026,"2026-07-28",{"src":443,"alt":444},"/portfolio/zayoto/cover.webp","Die Zayoto-Plattform auf Laptop, Tablet und Smartphone",[446,49,77,133,192,447],"/portfolio/zayoto/home.webp","/portfolio/zayoto/mobile.webp",[449,451,453,454],{"label":450,"value":353},"Sprachen",{"label":452,"value":321},"Admin-Ansichten",{"label":286,"value":289},{"label":455,"value":456},"Abo-Tarife","4",{"context":458,"challenge":459,"solution":460,"results":461},"Zayoto ist unser eigenes Produkt: eine SaaS-Plattform für Mietwagen- und Transferagenturen, mit einem öffentlichen Marktplatz, auf dem Gäste Angebote mehrerer Agenturen vergleichen und an einer Stelle buchen.","Kleine Agenturen in der Region verwalten Flotte und Buchungen über Tabellen und Nachrichten. Sie haben weder eine Website, die kassiert, noch einen Kanal, der außerhalb der Saison Gäste bringt.","Wir haben eine mandantenfähige Laravel-Plattform gebaut: Jede Agentur erhält eine eigene Buchungsseite, ein Admin-Panel und ein Abonnement, und Zayoto betreibt darüber einen Marktplatz mit Provision je Buchung.","Die Plattform läuft in 21 Sprachen im Produktivbetrieb, mit 181 Admin-Ansichten, kaskadierender Transferpreisberechnung und der ersten Agentur im Pilotbetrieb.",false,{"text":464,"minutes":465,"time":466,"words":467},"5 min read",4.59,275400,918,true,"/de/portfolio/zayoto",{"title":471,"description":472},"Zayoto – SaaS und Marktplatz für Mietwagen und Transfers","Unser Produkt: mandantenfähige SaaS-Plattform für Mietwagen- und Transferagenturen, Marktplatz für Gäste, kaskadierende Preise und 21 Sprachen. Zur Fallstudie.",{"loc":469,"priority":474,"changefreq":475,"lastmod":441,"images":476},0.9,"monthly",[477],{"loc":478,"caption":6},"https://leovacdigital.me/portfolio/zayoto/cover.webp","de/portfolio/zayoto","AlnFHz8Fdpmer6pe-jciIjLoXA7HzJMmegNFoMUGsNo",1785756123870]