Заезды на выходные: дата, бюджет и подтвержденная цена
Поиск использует конкретный заезд, а не похожее описание маршрута.
Задача и принятое решение
На 24–25 октября нужны поездки не дороже 20000 ₽. В наборе один маршрут повторяется в разные даты, у другого цена еще не подтверждена.
Я храню даты начала и конца у каждой записи и проверяю попадание целого заезда в выбранный интервал. Неподтвержденная цена и отсутствие мест исключаются до сортировки по стоимости.
Это авторский календарь заездов, не предложение туроператора и не реальные места.
Проверить решение
Измените исходные строки или параметры и пересчитайте результат. Данные остаются в этой странице.
| ID | Маршрут | Заезд | Цена, ₽ | Решение | Основание |
|---|---|---|---|---|---|
| T04 | Город и мастерская | 2026-10-24 — 2026-10-24 | 12000 | Подходит | Дата, цена и места подходят |
| T01 | Лесной маршрут | 2026-10-24 — 2026-10-25 | 18500 | Подходит | Дата, цена и места подходят |
| T08 | Панорамы | 2026-10-24 — 2026-10-25 | 20000 | Подходит | Дата, цена и места подходят |
| T06 | Короткий поход | 2026-10-25 — 2026-10-25 | 9500 | Не подходит | нет мест |
| T07 | Долина | 2026-10-23 — 2026-10-25 | 17500 | Не подходит | даты вне интервала |
| T02 | Лесной маршрут | 2026-10-31 — 2026-11-01 | 18500 | Не подходит | даты вне интервала |
| T05 | Каньон | 2026-10-24 — 2026-10-25 | 19000 | Не подходит | цена не подтверждена |
| T03 | Озерный круг | 2026-10-24 — 2026-10-25 | 22000 | Не подходит | выше бюджета |
Исходный набор
Авторский контрольный набор; не клиентские документы и не результаты внешней модели.
Изменить входные строки
Посмотреть исходные строки
| ID | Маршрут | Начало | Конец | Цена | Цена Подтверждена | Мест |
|---|---|---|---|---|---|---|
| T01 | Лесной маршрут | 2026-10-24 | 2026-10-25 | 18500 | да | 4 |
| T02 | Лесной маршрут | 2026-10-31 | 2026-11-01 | 18500 | да | 4 |
| T03 | Озерный круг | 2026-10-24 | 2026-10-25 | 22000 | да | 2 |
| T04 | Город и мастерская | 2026-10-24 | 2026-10-24 | 12000 | да | 6 |
| T05 | Каньон | 2026-10-24 | 2026-10-25 | 19000 | нет | 5 |
| T06 | Короткий поход | 2026-10-25 | 2026-10-25 | 9500 | да | 0 |
| T07 | Долина | 2026-10-23 | 2026-10-25 | 17500 | да | 3 |
| T08 | Панорамы | 2026-10-24 | 2026-10-25 | 20000 | да | 1 |
Что получилось
На 24–25 октября проходят T04 за 12000 ₽, T01 за 18500 ₽ и T08 за 20000 ₽. Похожий маршрут на 31 октября, неподтвержденная цена и закончившиеся места не подменяют результат.
Выполненная проверка
| Проверка | Результат |
|---|---|
| Выбранытри конкретных заезда T04, T01, T08 | Пройдена |
| Неподтвержденная цена T05 не проходит | Пройдена |
| Бюджет 1000 дает честную пустую выдачу | Пройдена |
| Отрицательный параметр строки исключает ложный подбор | Пройдена |
| Нечисловой параметр строки исключает ложный подбор | Пройдена |
| Перевернутые даты запроса останавливают выдачу | Пройдена |
| Перевернутые даты тура не допускают подбор | Пройдена |
Перед покупкой нужны действующие данные поставщика. Здесь проверяется только правило отбора на фиксированном наборе.
Скачать материалы и повторить проверку
source.json · source.csv · result.json · result.csv · engine.js · verify.cjs · checks.json · style.css
Локальная проверка: node verify.cjs. Нужен Node.js; сетевые обращения не выполняются.