Skolkovo Technopark Tours
The public booking site for tours and workshops at Skolkovo Technopark: pick a programme by date, reserve a place in a specific session and pay online.

Outcome
- 4
- tour programmes in the catalogue
- 50
- workshops across 20 subjects
- 5
- booking formats, from school groups to corporate
Product screens

Picker on the home page: the calendar marks dates with open sessions, the format sits on the right. The choice carries into the catalogue through URL parameters.

Catalogue for the chosen date: duration, age limit, language, price and the session grid. Unavailable slots read as unavailable, open ones lead into payment.

The tour programmes block. Switching between the Technopark tour, Dive in, the quest and the Innovation Centre happens on one page, without a reload.

The workshops section. Subjects and counters come from Strapi, so managers update the programme instead of shipping a release.

Mobile layout: the same calendar and picker in a single column, since most traffic arrives from phones.
The business problem
Tour requests arrived by email and phone while the schedule lived in spreadsheets. Visitors could not see whether a date still had places, and administrators reconciled sessions, payments and group sizes by hand. The site had to cover the whole path: pick a date, see the free places in a specific session and pay by card. Schedule, programmes and prices had to be editable from the admin panel by managers, without shipping a release.
My role
Fullstack Engineer: I build and maintain the whole site — the Next.js front end, the server routes behind the lead form and payment handling, and the Strapi content models the Skolkovo team uses to manage programmes, schedule and prices themselves.
The solution
Next.js renders on the server, so the home page and the catalogue arrive ready and the session list is fast and indexable. The calendar and the filters (format, audience, language) keep their state in MobX and mirror it into the URL, so a link to a given day and format opens on exactly that view. Programmes, locations, workshops and schedule live in Strapi. Booking runs through server routes: the request goes to Bitrix24, payment goes through the CloudPayments widget, and a separate callback takes the payment status.