Files
hotels/n8n_code_generate_questions.js

127 lines
5.2 KiB
JavaScript
Raw Normal View History

// 🎯 CODE NODE: Генерация 17 вопросов для AI Agent
// Размести эту ноду в начале workflow
// Она создаст 17 items (по одному на каждый критерий)
const questions = [
{
id: 1,
name: 'Юридическая идентификация и верификация',
question: 'Предоставлена ли Юридическая идентификация и верификация (ИНН, ОГРН, банковские реквизиты)?',
keywords: ['инн', 'огрн', 'егрюл', 'егрип', 'организация', 'ооо', 'ип']
},
{
id: 2,
name: 'Адрес',
question: 'Указан ли Адрес местонахождения (юридический, фактический)?',
keywords: ['адрес', 'address', 'местонахождение', 'г.', 'ул.']
},
{
id: 3,
name: 'Контакты',
question: 'Указаны ли Контакты (телефон, e-mail)?',
keywords: ['телефон', 'phone', 'email', '@', '+7', '8-800']
},
{
id: 4,
name: 'Режим работы',
question: 'Указан ли Режим работы (часы работы, график приема)?',
keywords: ['часы работы', 'график работы', 'режим работы', 'круглосуточно', '24/7']
},
{
id: 5,
name: 'Политика ПДн (152-ФЗ)',
question: 'Есть ли для ознакомления Политика ПДн (152-ФЗ)?',
keywords: ['персональных данных', 'пдн', '152-фз', 'privacy']
},
// КРИТЕРИЙ 6 (Роскомнадзор) ПРОПУЩЕН - проверяется отдельно!
{
id: 7,
name: 'Договор-оферта / Правила оказания услуг',
question: 'Есть ли Договор-оферта / Правила оказания услуг?',
keywords: ['договор', 'оферта', 'правила', 'условия', 'услуг']
},
{
id: 8,
name: 'Рекламации и споры',
question: 'Есть ли указание как подать рекламацию/претензию или описание о порядке разрешения споров?',
keywords: ['рекламация', 'спор', 'жалоба', 'претензия', 'конфликт']
},
{
id: 9,
name: 'Цены/прайс',
question: 'Представлены ли Цены/прайс на номера и услуги?',
keywords: ['цена', 'прайс', 'тариф', 'стоимость', 'номер']
},
{
id: 10,
name: 'Способы оплаты',
question: 'Указаны ли доступные Способы оплаты (наличные, карта, СБП)?',
keywords: ['оплата', 'платеж', 'карта', 'наличные', 'способ']
},
{
id: 11,
name: 'Онлайн-оплата',
question: 'Есть ли возможность Онлайн-оплаты?',
keywords: ['онлайн', 'интернет', 'платеж', 'карта', 'сайт']
},
{
id: 12,
name: 'Онлайн-бронирование',
question: 'Есть ли возможность Онлайн-бронирования?',
keywords: ['бронирование', 'заказ', 'номер', 'сайт', 'онлайн']
},
{
id: 13,
name: 'FAQ',
question: 'Есть ли на сайте FAQ (часто задаваемые вопросы)?',
keywords: ['faq', 'вопрос', 'ответ', 'помощь', 'часто']
},
{
id: 14,
name: 'Доступность для ЛОВЗ',
question: 'Есть ли информация о Доступности для ЛОВЗ (лиц с ограниченными возможностями здоровья)?',
keywords: ['доступность', 'инвалид', 'ловз', 'безбарьерная']
},
{
id: 15,
name: 'Партнёры/бренды',
question: 'Представлена ли информация о Партнёрах/брендах?',
keywords: ['партнер', 'бренд', 'сотрудничество', 'франшиза']
},
{
id: 16,
name: 'Команда/сотрудники',
question: 'Есть ли сведения о Команде/сотрудниках?',
keywords: ['команда', 'сотрудник', 'персонал', 'коллектив']
},
{
id: 17,
name: 'Уголок потребителя',
question: 'Есть ли на сайте Уголок потребителя?',
keywords: ['потребитель', 'права', 'защита', 'уголок']
},
{
id: 18,
name: 'Актуальность документов',
question: 'Актуальность документов — указана ли дата последнего обновления информации?',
keywords: ['актуальность', 'документ', 'дата', 'обновление', 'свежая']
}
];
// Возвращаем 17 items для Loop
return questions.map(q => ({
json: {
id: q.id,
name: q.name,
question: q.question,
keywords: q.keywords
}
}));