API для получения информации о турах

1. Получить все туры

Эндпоинт: GET https://mypeterburg.ru/api/tours

Описание: Возвращает список всех туров с основной информацией.

  1. По умолчанию API отдаёт первые 100 туров (параметры: page=1limit=100).

  2. Чтобы получить следующую страницу, нужно увеличить page. Например, page=2 даст вторые 100 туров.

  3. Можно задать limit для изменения количества туров на странице (например, limit=50).

  4. Фильтр по дате дата в формате dd.mm.YYYY передаётся параметром date.

  5. В ответе присутствуют:

    • total_tours - всего туров.

    • page - текущая страница.

    • limit - сколько туров выдано на страницу.

    • sections - массив разделов с id и именем.

    • toursByParent - группы туров по разделам.

Пример ответа:

{
  "success": 1,
  "page": 1,
  "limit": 100,
  "total_tours": 250,
  "sections": [
    {"id": 9, "name": "Коллекция туров 1 (например: Лето)"},
    {"id": 10, "name": "Коллекция туров 2 (например: Новый год)"}
  ],
  "toursByParent": {
    "9": [
      {
        "id": 101,
        "pagetitle": "Тур по Санкт-Петербургу",
        "price_from": 15000,
        "dates": [ // даты заездов и цены "от"
          {"date": "2026-05-15", "price": 15000},
          {"date": "2026-06-01", "price": 17000},
          {"date": "2026-06-01", "price": 18000},
        ],
        "day": "5 дней",
        "original_image": "https://mypeterburg.ru/images/tour1.jpg",
        "mini_image": "https://mypeterburg.ru/thumbs/tour1.jpg",
      },
      "... другие туры"
    ],
    "10": [
      "... туры раздела 10"
    ]
  }
}

2. Получить полные данные тура по ID

Эндпоинт: GET https://mypeterburg.ru/api/tourDetail/?tour_id=ID

Описание: Возвращает все данные тура, даты, цены, описание (программа тура).

Расшифровка полей цен Типы размещения и цены

Поле APIНазначениеОписание
dbl Взрослый 1/2 DBL Цена за 1 взрослого в двухместном номере (½ DBL)
sngl Одноместный номер Полная цена одноместного размещения (SNGL)
extra Третий в номере взрослый Взрослый на доп. месте в двухместном номере
childDbl Ребенок до 14 лет 1/2 DBL Ребёнок до 14 лет в двухместном номере с взрослыми
childExtra Доп. место ребёнок Ребёнок до 14 лет на дополнительном месте

Пример ответа:

[
{
  "success": 1,
  "tour_id": 1350,
  "site_url": "https://mypeterburg.ru/",
  "tour": {
    "id": 1350,
    "pagetitle": "Тур по Санкт-Петербургу",
    "day": "5 дней",
    "texDateStart": "Каждую пятницу",
    "original_image": "https://mypeterburg.ru/images/tour1.jpg",
    "prices": [{
      "date": "2025-12-05",
      "dbl": 11520,
      "sngl": 14500,
      "extra": 3500,
      "childDbl": 8500,
      "hotel_id": 1004,
      "room_id": 25,
      "hotel_name": "Отель Невский Палас",
      "room_name": "Стандарт"
    },{
      "date": "2025-12-06",
      "dbl": 11520,
      "sngl": 14500,
      "extra": 3500,
      "childDbl": 8500,
      "hotel_id": 1004,
      "room_id": 25,
      "hotel_name": "Отель Невский Палас",
      "room_name": "Комфорт"
    }],
    "days": {
      "1351": {
        "id": 1351,
        "pagetitle": "День 1: Прибытие",
        "content": "Описание дня..."
      }
    }
  }
}