If you rent out a house, a flat or a couple of rooms anywhere in Croatia, you know the routine. Guests arrive, and within 24 hours every one of them has to be registered with the authorities through eVisitor. Not just a name: date of birth, citizenship, country and city of birth, country and city of residence, travel document type and number, arrival and departure dates.
For one couple that is a mildly annoying ten minutes. For a family of five arriving on a Saturday in August, when you have two other changeovers the same day, it is a genuine chore. And it is a chore made almost entirely of retyping things a computer should have remembered.
We got fed up and built something. It is free, it is open source, and it is at checkin.villalavacroatia.com.
The law is fine. The software is the problem.
Let us be clear about which part we are complaining about, because they get conflated.
The reasoning behind eVisitor is sound. Every country in the region tracks overnight stays, it is also how the tourist tax gets calculated, and reporting who slept under your roof is not an outrageous thing for a state to ask. We have no argument with any of that.
The platform built on top of that reasoning is the problem. Start with the language: it is half English and half Croatian, switching between the two inside the same screen, sometimes inside the same form. If you are a foreign owner your eye keeps snagging on a Croatian label in the middle of an English page. If you are Croatian you get English jargon dropped into your own language for no reason anyone can explain. Neither audience is served, and the translation that does exist is inconsistent enough that you end up learning the interface by position rather than by reading it.
The rest is the same story. The session times out while you are squinting at a passport. The forms ask for the same property details over and over, for every guest, every time, despite already knowing them. The labels assume you have read a manual you were never given. There is no sensible way to hand the typing to the person actually holding the document. It is the kind of system that gets signed off by people who will never once use it in August with a car full of arrivals in the driveway.
And the details you need live on your guests’ passports, which means they reach you as a blurry photo in WhatsApp, or a name spelled three different ways across an email thread, or read out at the door while you type. Then you type it all again into eVisitor, one field at a time, per person.
Every step in that chain is somewhere to make a mistake, and a wrong passport number is a problem you find out about much later.
What the tool does
eVisitor has a feature many hosts never touch: Turisti → Prijava putem datoteke, bulk registration by file upload. Feed it one file and it registers everybody in it at once.
Nobody wants to hand-write XML, so the tool is a calm form that produces that file for you. Two ways to use it:
Fill it in yourself. Save your property defaults once: facility code, arrival code, usual check-in and check-out times. Add each guest, save the file, upload it to eVisitor. The repeated fields stop being repeated.
Or let the guest do it. Send them the link before they arrive. They fill in their own details from their own passport, which is the one place the information is definitely correct, and send you back a small file. You import it, add the bits only you know (tax category, arrival code) and upload. The passport photo never has to exist.
That second flow is the one that changed things for us. Guests read their own documents more accurately than we ever transcribed them over WhatsApp, and it moves the awkward “please send a photo of your passport” conversation into something that looks like a normal booking step.
No third party in the middle
This matters more than the convenience, so it is worth being precise rather than making a slogan of it.
The page is static. There is no server, no account, no database, no analytics and no third-party scripts. Everything happens inside your browser, and the file is written to your device. Guest details entered on the page are gone the moment the tab closes. Your own property defaults are the only thing that persists, and they stay in your browser.
What that does not mean is that the data never travels. If a guest fills in the form and sends you the file, that file crosses the internet, by email or WhatsApp or whatever you both already use, exactly as a passport photo would have. We are not going to pretend otherwise.
The difference is what sits either side of that hop. No service in the middle keeps a copy. No account is created. Nothing is logged. You pick the channel, and it is the only one involved. Set against a photo of someone’s passport sitting in a WhatsApp thread forever, that is a real improvement, and it is the honest size of the claim.
You are being asked, as a host, to collect passport numbers and dates of birth from strangers. The least a tool can do is not add itself to the list of parties holding them.
If you would rather not take our word for any of this, the whole thing is on GitHub under the AGPL. You can read it, and you can host your own copy.
What it does not do
Being straight about the limits, because this is paperwork with legal weight:
- It does not talk to eVisitor. It produces a file; you still log in and upload it. There is no automation, and nothing is submitted on your behalf.
- It is unofficial. Not affiliated with eVisitor, the Croatian National Tourist Board, or any government body.
- A few fields are still guesswork. The public documentation names every field but does not publish a sample file, and some lookup tables (tax categories, the MUP arrival codes) are not published at all. Check the file the first time you use it, and if eVisitor rejects it, open an issue and we will fix it.
- It does not replace your own records. Keep whatever you normally keep.
Why we are giving it away
Villa LAVA is one house. This problem belongs to thousands of people up and down the coast, most of them running one or two units, none of them wanting to buy property-management software to solve twenty minutes of typing on a Saturday.
The tourist season is short and the admin is the least enjoyable part of it. If this saves you an hour across a summer and keeps a few passport photos from being taken in the first place, that is a good enough reason to publish it.
Try it at checkin.villalavacroatia.com. Tell us what breaks.
