Website with online booking / 2025
Hotel Lane: online booking with no double booked rooms
Case study: a hotel site in Sjenica with booking and card payment, synced with the front desk software so the same room is never sold twice.

- Client
- Hotel Lane
- Year
- 2025
- Role
- Website, booking system, card payments, front desk sync, admin panel, SEO and blog
- Technologies
- PHP, MySQL, JavaScript, API, Halkbank, Telegram
24
rooms and apartments bookable on the site
2
availability checks before a booking is confirmed
0
bookings the front desk retypes by hand
This is a case study of the website with online booking I built for Hotel Lane in Sjenica, Serbia. If you are looking for a place to stay in Sjenica, the official site is hotel-lane.com.
Client and context
Hotel Lane is a hotel in the center of Sjenica, at Meše Selimovića 3, next to the Sultan Valide mosque. It has 24 rooms and apartments (single, double, triple and apartments for up to 5 people), a restaurant and free parking, and it is a starting point for the Uvac nature reserve, the Pešter plateau and the Žari ski center. I built the site in 2025 and have maintained it since. It runs in Serbian and English.
At the front desk the hotel uses BKC Soft's hotel program. It comes from the same company whose license portal I have maintained since 2022.
Problem
Guests on the site could not book on their own: they sent an enquiry and waited for a reply, often overnight. Someone at the front desk had to type every enquiry into the program by hand.
The biggest risk was not the slow reply but double booking. Until a booking from the site was retyped into the program, that room still looked free and could be sold twice. A website and a front desk keeping two separate lists of the same thing drift apart sooner or later, and in a hotel that means two guests arriving for the same key.
Constraints
The hardest part was the sync and making sure bookings never overlap. The front desk program is local, inside the hotel, so the connection works the other way round: the site "listens", and the front desk program calls it.
The second constraint is the moment between choosing a room and confirming it. Two guests can look at the same room at the same time, and to both of them it looks free. The system has to decide who gets it before either of them pays.
Solution
Front desk sync through an API
The site has an API (an address through which another program exchanges data) and waits for the BKC Soft program at the front desk to call it. On each call, the program checks the state, pulls every new booking from the site and sends its own. After that the site and the front desk hold the same list, and nobody retypes anything.
Two checks before confirmation
Searching by dates and number of guests shows only rooms that are actually free on those dates. When a guest clicks to confirm, the system checks once more that the room has not been booked in the meantime. If it has, the guest finds out before paying, not on arrival.
Booking on the room page
Every room has its own page with a gallery, amenities (WiFi, TV, private bathroom, heating, balcony), bed type and hotel rules (check-in from 14:00, check-out by 11:00). The booking form sits on the same page: dates, adults and children, guest details, board type and a note. The price is calculated from the number of nights and the board type and is shown before confirmation, with a note that VAT is included.
Cash or card
Guests choose how to pay. With cash, they pay at the hotel, where they can also pay by card at the front desk. With card, they pay the full amount on the site straight away, through the Halkbank payment system. Before confirming, guests accept the terms of business, the cancellation policy and the privacy policy.
Email and Telegram notifications
Every booking and every payment arrives by email, and the hotel owner gets a Telegram message at the same time. A new booking does not wait for anyone to open the admin panel or for the front desk to pass it on.
An admin panel for the front desk
The admin panel covers bookings with statuses and payment records, rooms, prices, offers, board types and the blog. Quick booking is built for groups: the front desk enters the guest details, dates and price, ticks several rooms at once and sees the total for all of them, with no need to add rooms one by one.
What a guest sees, step by step
- On the home page they pick the arrival date, departure date and number of adults and children.
- The search shows only free rooms, with a filter by type (double, triple, single, apartment) and the price per night.
- On the room page they see photos, amenities and rules, and fill in their details right below.
- They choose cash or card and see the total for all nights.
- On confirmation the system checks the room once more, the guest gets a confirmation, and the hotel gets an email and a Telegram message.
SEO and the blog
I also did the SEO for the hotel, and I write the blog. The posts answer what guests search for before they arrive: how to get to Uvac and the Molitva viewpoint, what to see on the Pešter plateau, what to visit in Sjenica, and when the local pie festival takes place. Destination pages (Pešter, the Sultan Valide mosque, Žari ski center, Uvac) and seasonal offers, such as a ski weekend or Easter in Sjenica, lead readers on to the room search.
Technologies and why
The site is built in PHP, MySQL and JavaScript. Card payments go through the Halkbank payment system, the front desk link runs through an API that BKC Soft calls, and notifications go by email and Telegram. The most important part is invisible on the site: the link and the checks that stop the same room from being sold twice.
Result
Guests book on their own, at any hour, and choose whether to pay by card straight away or at the hotel. The front desk no longer retypes bookings from the site, because the program pulls them itself, and double booking is prevented because the site and the front desk hold the same list and every room is checked again on confirmation. There are no exact figures on online bookings, so I do not quote any (as of October 2026).
Inside the application



Services used on this project
- Website development for companies that want enquiries
- Custom web applications for work that has outgrown spreadsheets
- SEO that starts in the code
- Website maintenance after launch
Questions about the project
What is Hotel Lane?
A hotel in the center of Sjenica, Serbia, next to the Sultan Valide mosque, with 24 rooms and apartments, a restaurant and free parking. This is a case study of its website; the official site is hotel-lane.com.
How does the site know which rooms are free?
The site and the front desk software (BKC Soft's hotel program) exchange bookings through an API. The front desk program calls the site, pulls new bookings and sends its own, so both sides hold the same list.
Can guests pay at the hotel?
Yes. Guests choose cash or card. With cash, they pay at the hotel, where they can also pay by card at the front desk. With card, they pay the full amount on the site straight away, through Halkbank.
How does the owner know a booking has come in?
Every booking and every payment arrives by email, and the owner gets a Telegram message at the same time.
Can my site be connected to software I already use the same way?
If the software has an API, or an exchange format can be agreed, yes. The integration is built to a specification and priced on request. How I work is on the web application development page.
Similar projects
Case study
BKC Soft: licenses and daily register reports in one portal
Case study: BKC Soft issued licenses by hand and owners added up revenue by phone. The portal now handles 500+ licenses and reports from 20+ users.
Case study
Galia Apartmani: a holiday apartments site with 10,000+ visits in season
Case study: a site for 14 holiday apartments in Bar in Serbian, English and German, with WhatsApp enquiries and destination pages. 10,000+ visits.
Got a similar job?
Describe what you need in a few sentences. Messages sent before 5 pm CET get a same day reply with an estimate of price and timeline.