{
  "$schema": "https://w3c.github.io/webmcp/schemas/actions.json",
  "actions": [
    {
      "id": "view-specialist",
      "title": "Просмотр специалиста",
      "description": "Открывает страницу специалиста с календарём для бронирования",
      "path": "/kal/:slug",
      "method": "GET",
      "parameters": [
        {
          "name": "slug",
          "type": "string",
          "required": true,
          "description": "Уникальный идентификатор специалиста"
        }
      ]
    },
    {
      "id": "select-slot",
      "title": "Выбор слота в календаре",
      "description": "Выбирает временной слот в календаре специалиста для бронирования",
      "path": "/api/kal/:schedule_id/slots",
      "method": "POST",
      "parameters": [
        {
          "name": "schedule_id",
          "type": "number",
          "required": true,
          "description": "Идентификатор расписания"
        },
        {
          "name": "event_id",
          "type": "number",
          "required": true,
          "description": "Идентификатор события"
        },
        {
          "name": "start",
          "type": "datetime",
          "required": true,
          "description": "Дата и время начала слота"
        },
        {
          "name": "duration",
          "type": "number",
          "required": true,
          "description": "Длительность слота в минутах"
        },
        {
          "name": "price",
          "type": "number",
          "required": true,
          "description": "Стоимость слота"
        },
        {
          "name": "currency",
          "type": "string",
          "required": true,
          "description": "Валюта стоимости (например, RUB, USD)"
        }
      ]
    },
    {
      "id": "register",
      "title": "Регистрация пользователя",
      "description": "Регистрирует нового пользователя на платформе",
      "path": "/#register",
      "method": "GET",
      "parameters": [
        {
          "name": "name",
          "type": "string",
          "required": true,
          "description": "Имя пользователя"
        },
        {
          "name": "email",
          "type": "string",
          "required": true,
          "description": "Email пользователя"
        },
        {
          "name": "phone",
          "type": "string",
          "required": true,
          "description": "Номер телефона пользователя"
        }
      ]
    },
    {
      "id": "login-request",
      "title": "Запрос OTP для входа",
      "description": "Запрашивает одноразовый код (OTP) для входа в аккаунт",
      "path": "/#login",
      "method": "GET",
      "parameters": [
        {
          "name": "phone",
          "type": "string",
          "required": true,
          "description": "Номер телефона для отправки OTP"
        }
      ]
    },
    {
      "id": "login",
      "title": "Вход по OTP",
      "description": "Выполняет вход пользователя с использованием одноразового кода",
      "path": "/#login",
      "method": "GET",
      "parameters": [
        {
          "name": "phone",
          "type": "string",
          "required": true,
          "description": "Номер телефона пользователя"
        },
        {
          "name": "otp",
          "type": "string",
          "required": true,
          "description": "Одноразовый код подтверждения"
        }
      ]
    },
    {
      "id": "book-appointment",
      "title": "Подтверждение брони",
      "description": "Подтверждает бронирование выбранного временного слота",
      "path": "/api/kal/book",
      "method": "POST",
      "parameters": [
        {
          "name": "schedule_id",
          "type": "number",
          "required": true,
          "description": "Идентификатор расписания"
        },
        {
          "name": "slot_start",
          "type": "datetime",
          "required": true,
          "description": "Дата и время начала забронированного слота"
        },
        {
          "name": "payment_method",
          "type": "string",
          "required": true,
          "description": "Способ оплаты"
        }
      ]
    },
    {
      "id": "search-specialists",
      "title": "Поиск специалистов",
      "description": "Выполняет поиск специалистов по запросу",
      "path": "/",
      "method": "GET",
      "parameters": [
        {
          "name": "query",
          "type": "string",
          "required": true,
          "description": "Поисковый запрос для поиска специалистов"
        }
      ]
    },
    {
      "id": "view-schedule-shared",
      "title": "Просмотр общего расписания",
      "description": "Открывает общее расписание специалиста по ссылке-приглашению",
      "path": "/s/:share_token",
      "method": "GET",
      "parameters": [
        {
          "name": "share_token",
          "type": "string",
          "required": true,
          "description": "Токен для доступа к общему расписанию"
        }
      ]
    },
    {
      "id": "browse-browsers",
      "title": "Список доступных браузеров",
      "description": "Отображает список всех доступных для аренды удалённых браузеров",
      "path": "/browsers",
      "method": "GET",
      "parameters": []
    },
    {
      "id": "view-browser",
      "title": "Детали браузера",
      "description": "Отображает подробную информацию об удалённом браузере",
      "path": "/browsers/:id",
      "method": "GET",
      "parameters": [
        {
          "name": "id",
          "type": "number",
          "required": true,
          "description": "Идентификатор браузера"
        }
      ]
    },
    {
      "id": "rent-browser",
      "title": "Аренда браузера",
      "description": "Арендует удалённый браузер на указанный срок",
      "path": "/api/browsers/rent",
      "method": "POST",
      "parameters": [
        {
          "name": "browser_id",
          "type": "number",
          "required": true,
          "description": "Идентификатор браузера для аренды"
        },
        {
          "name": "duration",
          "type": "number",
          "required": true,
          "description": "Длительность аренды в минутах"
        }
      ]
    },
    {
      "id": "end-rental",
      "title": "Завершение аренды",
      "description": "Завершает аренду удалённого браузера досрочно",
      "path": "/api/rentals/:rental_id/end",
      "method": "POST",
      "parameters": [
        {
          "name": "rental_id",
          "type": "number",
          "required": true,
          "description": "Идентификатор аренды для завершения"
        }
      ]
    },
    {
      "id": "install-extension",
      "title": "Установка расширения",
      "description": "Страница установки браузерного расширения для подключения к сервису",
      "path": "/install",
      "method": "GET",
      "parameters": []
    },
    {
      "id": "connect-browser",
      "title": "Подключение браузера к аккаунту",
      "description": "Подключает удалённый браузер к аккаунту пользователя по коду подключения",
      "path": "/api/browsers/connect",
      "method": "POST",
      "parameters": [
        {
          "name": "connection_code",
          "type": "string",
          "required": true,
          "description": "Код подключения браузера"
        }
      ]
    }
  ]
}
