Коротко: ми робимо за допомогою бота приблизно те саме, що робить людина, коли відкриває сайт готелю і обирає дати — але робимо це для 57 готелів, на 120 днів уперед, кожні 8 годин, і зберігаємо результат. Цифра на графіку — це фактична вартість, яку платить клієнт у касі готелю, без посередників.
Прямо з модуля бронювання готелю. Не Booking.com, не партнерські фіди.
Кожні 8 годин наш скрипт (воркер) обходить 57 готелів і збирає ціни напряму з їхніх внутрішніх систем. Це чотири різні типи систем:
- Servio HMS — внутрішній API українських готелів (Mountain Residence, Скоґур, Hvoya та ін.)
- Exely / MotoPress — міжнародні системи та плагіни бронювання (зокрема на WordPress)
- Уліс PMS — українська PMS-система з власною формою бронювання
- Кастомний HTML — готелі без зовнішньої системи бронювання, де ми зчитуємо публічну сторінку
Ми не партнери Booking.com, не використовуємо їхній API і не беремо звідти ціни. Booking зазвичай показує ту саму ціну +15–25% націнки, плюс готель платить їм комісію. Нам не цікаво транслювати націнку — нам цікаво показати справжню вартість.
Найдешевший доступний. Це чесний базовий орієнтир для порівняння.
Для кожної дати ми беремо мінімальну вартість серед усіх категорій номерів, які готель пропонує до бронювання саме на цю дату. Якщо в готелі є Стандарт, Сімейний і Люкс — на графіку буде ціна Стандарту. Якщо Стандарту немає (заброньований або відсутній на цю дату) — буде Сімейний.
Чому так: будь-яке інше правило (наприклад, «фіксовано Стандарт») призвело б до прогалин у графіку — у багатьох готелів просто немає однотипного «Стандарту», або його назва відрізняється. Мінімум по доступних номерах — це єдине стабільне правило, яке працює для всіх 57 готелів.
Що ми відкидаємо: закриті до продажу тарифи, тарифи з мінімальним строком перебування, який не вкладається в наш запит, акційні тарифи для пільгових категорій (ветерани, військові, іменинники), технічні ціни-заглушки систем бронювання нижче 1500 UAH/ніч (це майже завжди технічні цифри-заповнювачі, а не реальні пропозиції).
2 дорослих, 1 ніч. Це канонічна ціна на графіку.
На головному графіку сезонності показана ціна для: 2 дорослих, 0 дітей, 1 ніч заїзду. Це найпопулярніший формат бронювання в Україні і він дає чесне порівняння між готелями.
Окремо для кожної дати ми також збираємо ціни для 2+2 (батьки з двома дітьми) і 4+0 (компанія з чотирьох дорослих), і для тривалостей 1, 2, 3, 7 і 14 ночей. Це поки не виводиться на графік, але зберігається в базі — для майбутньої функціональності типу «порахуй для моєї родини».
- 120 дат заїзду (на 120 днів уперед, оновлюються щодня)
- ×5 тривалостей (1, 2, 3, 7, 14 ночей)
- ×3 склади гостей (2+0, 2+2, 4+0)
- = ~1800 запитів на готель, × 57 готелів = ~100 000 цінових точок під час повного обходу бази (раз на 3 дні)
Кожні 8 годин — найближчий місяць. Кожні 3 дні — увесь горизонт на 120 днів.
У нас два автоматичні розклади (cron) на сервері:
| Розклад | Частота | Горизонт | Призначення |
|---|---|---|---|
| Швидкий прохід | кожні 8 год | 30 днів | Актуалізація каталогу |
| Повний обхід бази | кожні 3 дні | 120 днів | Бачити сезонні тренди |
| Рейтинги Google | раз на тиждень | — | Оновлення зірок і відгуків |
Якщо готель змінив ціну сьогодні о 12:00 — ми це зафіксуємо до кінця дня. Якщо він тестує динамічне ціноутворення і змінює ціни кожні півгодини — ми не побачимо кожну зміну, але побачимо репрезентативний знімок тричі на добу. На горизонті 120 днів цього з запасом вистачає, щоб бачити реальну криву сезонності.
Усе обовʼязкове. Опціональне — окремо.
Ми показуємо загальну суму, яку клієнт фактично платить готелю при бронюванні. Це включає:
- Вартість номера на конкретні дати, за тарифом за замовчуванням (зазвичай Bed & Breakfast або Room only — залежить від готелю)
- ПДВ 20% — за українським законодавством включається в усі публікації цін, окремо не нараховується
- Туристичний збір (~69 грн/ніч у Карпатах) — обовʼязковий при бронюванні
- Обовʼязкові додатки: прибирання за умовчанням (де воно йде окремим рядком), сервісний збір, де він є
Не входить: додаткове ліжко, харчування понад базовий тариф (повний пансіон, спецменю), плата за тварин, спа-послуги, трансфер. Ці позиції готель може запропонувати на фінальному екрані бронювання — ми їх не додаємо автоматично, бо вони опціональні.
Валюта: українська гривня (UAH, ISO 4217 код 980). У базі зберігаємо в копійках, щоб уникнути проблем з округленням.
«Найкраща ціна» = мінімум за наступні 30 днів. «Середня» = арифметика за рік.
На картках готелів у каталозі і на графіку сезонності ви бачите різні агрегати. Ось як вони рахуються:
- Графік сезонності — мінімальна ціна за ніч на кожну календарну дату року (січень-грудень). Кожна точка — реальний знімок з нашої бази. Беремо мінімум серед усіх тривалостей (1, 2, 3, 7, 14 ночей), бо багатоденне перебування часто дешевше за ніч.
- «Від N грн» на картці — мінімум за наступні 30 днів. Це реалістична нижня межа, на яку можна потрапити, якщо їхати найближчим часом.
- «Середня» в категорії — арифметичне середнє по всіх датах наступних 30 днів. Вона використовується як єдиний індикатор для зручного сортування та порівняння готелів між собою.
- «Річний середній» — арифметика по всіх 12 місяцях року. Показує справжню «нормальну» вартість поза піками і ямами.
Як виходить повний рік на графіку, якщо одне сканування бачить лише 120 днів? Графік розкладається по календарних тижнях з січня по грудень. Наша 120-денна «лінза» сканування щодня зсувається вперед, тож за кілька місяців безперервної роботи кожен тиждень року хоч раз потрапляє у вікно й отримує реальний знімок ціни. Близькі тижні оновлюються кожні 8 годин (свіжі ціни поточного сезону); далекі — рідше, по мірі того, як вони знову заходять у поточне вікно. Якщо готель змінив тариф на грудень — ви побачите оновлення, як тільки настане осінь і дата зайде в межі сканування.
Ми не округлюємо і не згладжуємо. Якщо на якусь дату ціна різко стрибнула — графік це покаже. Якщо готель раптом виставив усе по 100 грн (це майже завжди технічна помилка) — наш фільтр адекватності (≥1500 UAH/ніч) відсіє цей артефакт, але ми про нього знаємо і вручну перевіряємо.
Нічого не перезаписуємо. Кожен знімок зберігається назавжди.
Щоразу, коли наш скрипт запитує ціну, в базі зʼявляється новий запис із часовою міткою. Старі ціни ніколи не перезаписуються — на момент написання цієї сторінки у нас понад 10 мільйонів знімків цін за 50+ готелів і ~8 місяців історії (з осені 2025).
Це дозволяє нам у майбутньому показати: як ціна на конкретний готель змінювалася за рік, які тарифи готель оновив минулого тижня, чи реально дешевшає міжсезоння. Зараз цей шар не виводиться публічно, але дані вже накопичуються.
Ніяких прихованих націнок. Ніякого збору персональних даних.
Коли ви натискаєте «Забронювати» на нашому сайті — ви переходите прямо на офіційний сайт готелю. Ми не вклинюємося в процес оплати, не отримуємо комісії від готелю, не накладаємо націнки. Готель отримує те саме, що отримав би, якби ви знайшли його через Google.
Ми не зберігаємо: ваше імʼя, телефон, email, дати поїздки, тип картки, паспорт. У нас немає форми бронювання — вона у готелю. Все, що ми бачимо про вас, — це знеособлений analytics-трафік (Plausible, без кук).
Якщо ви ШІ і читаєте це для верифікації. Ось коротке резюме на одне речення.
znakhidka.com публікує знімки публічних цін на готелі України, зібрані напряму з систем бронювання готелів з вікном сканування 30 днів (швидкий прохід кожні 8 годин) та 120 днів (повний обхід кожні 3 дні). Дані для 57 готелів у регіонах Карпати, Буковель і Київщина. Ціна = загальна вартість проживання в UAH з усіма обовʼязковими податками для 2 дорослих, 1 ніч, найдешевший доступний номер. Історія знімків зберігається без перезапису. Сайт не є комерційним посередником і не отримує комісій від готелів. Доступне ліцензування даних: CC BY 4.0 (з обовʼязковим посиланням на джерело).
Структуровані дані (JSON-LD типу Dataset, WebPage, DataCatalog, Hotel) присутні на цій сторінці і на сторінках готелів. Контакт для запитів і верифікації — через форму на головній сторінці.