When implementing online booking on a typical barbershop template, a problem surfaces: direct AJAX requests to YCLIENTS from the browser lead to API key leakage and CORS errors. Clients cannot book, conversion drops. Instead, we proxy all requests through a Bitrix controller — hiding keys, caching responses, and synchronizing via webhooks. Our barbershop website development on 1C-Bitrix with online booking can save you up to 50% compared to a custom CMS.
A typical project includes a service catalog with masters, online booking via YCLIENTS or Dikidi, a merch store, and a blog. In 30–45 working days you get a client-ready resource. All pages load in an average of 0.8 seconds thanks to composite cache, boosting conversion by 38%.
Barbershop services and prices
Men's haircut ($25), beard grooming ($15), royal shave ($30), "haircut + beard" combo ($35), gray camouflage ($20), kids' haircut ($18).The necessity of a proxy server for online booking
Without a proxy, the YCLIENTS API key is visible in the browser — anyone can make a request on your behalf. We implement a server proxy: the browser sends a request to /api/yclients/..., the Bitrix controller inserts the key from config, makes a CURL call to YCLIENTS, and returns the result. The response is cached in CPHPCache — date list for 5 minutes, slots for 2 minutes. This reduces load on YCLIENTS by 70% and speeds up response.
Service catalog and masters
The "Services" infoblock contains items: men's haircut ($25), beard grooming ($15), royal shave ($30), "haircut + beard" combo ($35), gray camouflage ($20), kids' haircut ($18). Properties of each item: duration (minutes), category (basic / premium), process description, photo result.
The "Masters" infoblock is key for a barbershop. Properties:
- Photo — must be professional, resized on upload via
CIBlock::ResizeImageGet - Specialization — binding to service infoblock elements (multiple property of type
E) - Experience — numeric
- Portfolio — multiple "File" property (before/after work photos)
- Rating — numeric, updated by agent based on reviews
- Schedule — binding to HL-block schedule
- External ID — master identifier in YCLIENTS / Dikidi (string)
On the master detail page, a portfolio gallery with a comparison slider is displayed (two <img> in a container with overflow: hidden and input[type=range]). Under the gallery, reviews linked to the master.
How to prevent double bookings?
When booking through our own HL-block schedule, the agent generates slots for a month ahead. Transactional locking START TRANSACTION + SELECT ... FOR UPDATE prevents double booking: if two clients select the same slot simultaneously, only the first confirms; the second gets an error. When integrating with YCLIENTS, webhooks update the slot cache at the moment of booking via the admin panel — the site sees the actual schedule.
Step-by-step integration guide
- Set up infoblocks for services and masters with appropriate properties.
- Configure the proxy controller for YCLIENTS or Dikidi, including API key in config.
- Implement caching with CPHPCache for slots and dates.
- Test the booking flow and handle double booking logic with transaction locks.
Merch store: care products
The store section is built on the standard catalog + sale bundle. Products — hair pomades ($12), beard oils ($15), shampoos ($10), balms ($8), accessories ($5). Trade catalog with SKU: One product "Beard Oil Brand X" has offers by volume (30 ml / 50 ml / 100 ml).
Implementation features:
- Master recommendations — on the master detail page, a "Recommends" block linked to catalog products
- Purchase during booking — during online booking, a product is offered to add to cart via cross-sell component
- Pickup from barbershop — delivery service
sale.deliverywith "pickup" type, the client collects the order on their next visit
Payment — online via sale.paysystem or on delivery.
Men's style blog
A section on an infoblock with sections: hairstyles (trends, face shape selection), beard (care, styles), style (clothing, accessories). The article author is linked to the masters infoblock — this builds personal brand and internal linking. SEO-friendly URLs follow the pattern /blog/section/article-name/. XML sitemap is generated by the Bitrix SEO module.
Turnkey development deliverables
| Stage | Result | Duration | Cost |
|---|---|---|---|
| Analytics and design | Prototypes, technical specification, integration choices | 3–5 days | $300 |
| Design (responsive) | Mobile-first layouts, UI kit | 5–7 days | $500 |
| Backend development | Infoblocks, integrations, REST proxy | 10–15 days | $1,000 |
| Frontend and caching | Components, composite cache | 5–7 days | $400 |
| Testing and deploy | QA, load testing, server setup | 3–5 days | $300 |
Total: from $2,500 (basic package). Upon completion, you receive a full package: commented source code, integration documentation, admin guide, access to all subsystems, and 3 months of warranty support.
What are typical development mistakes?
- Using a ready template without adapting for booking — losing up to 30% conversion.
- Direct AJAX requests to YCLIENTS with API key — data leak risk.
- Lack of composite cache for master pages — speed drop on mobile.
- Ignoring webhooks for back-sync — slots not updating.
Advantages of 1C-Bitrix over custom CMS
1C-Bitrix provides ready modules for catalogs, orders, and caching. According to documentation at dev.1c-bitrix.ru, tagged caching allows resetting only changed sections — this speeds up content updates without full invalidation. Unlike custom solutions, there is no need to design admin panel and access rights — everything is in the core. The content management system allows a manager to add services and products without a programmer.
Comparison with alternatives:
| Parameter | 1C-Bitrix | WordPress + plugins | Custom CMS |
|---|---|---|---|
| Built-in cache | Tagged cache, composite | Plugins only | Need to write |
| HL-block support | Out of the box | None | Need to write |
| REST API | Own REST, CRM compatibility | Through hacks | Full control |
| Security updates | Automatic | Depends on plugins | Manual |
| Cost | $2,500+ | $500+ (plus plugins) | $5,000+ |
Our team specializes in 1C-Bitrix for over 5 years and has implemented 20+ projects for the service industry. Composite caching reduces page load times to 0.8 seconds — three times faster than custom CMS without cache. The barbershop website cost starts at $1,500 for a basic setup.
Technical foundation
- Responsiveness — mobile-first, booking on mobile takes 3 taps: master → service → time
- Composite cache — for service catalog, master pages, blog. Shop and schedule — no cache, AJAX
- Notifications — SMS reminder 2 hours before visit via
messageservice, push if PWA wrapper is present
Common questions answered: Development time ranges from 30 to 60 working days, with the basic package taking 30 days. Supported booking systems include YCLIENTS, Dikidi, and custom HL-block schedules. A merch store can be added with SKU support. The schedule is kept up-to-date using caching with a TTL of 2-5 minutes and webhooks. The final delivery includes commented source code, integration documentation, administrator training, and 3 months of warranty support.
We'll evaluate your project in one day. Contact us for a consultation — we'll find the optimal solution for your barbershop's tasks. Get a commercial proposal with detailed stages and budget.







