Задача. У брокера, продающего ОСАГО и КАСКО, несколько тысяч клиентов, и почти всё общение шло по телефону: когда кончается полис, куда отправить паспорт, дошло ли заявление по ДТП. Менеджеры полдня отвечали на одни и те же вопросы, продлевали вручную в последний момент. Нужен был кабинет, где клиент сам делает типовые вещи, данные остаются в CRM брокера, а всё работает с телефона.
Решение. По журналу звонков выбрали четыре сценария: полисы, продление, документы, выплаты. Сайт собран на Next.js: калькулятор и страницы продуктов отдаются с сервера и попадают в поиск, кабинет за авторизацией написан на React. Мастер продления в несколько шагов хранит черновик, файлы и статусы в Redux, поэтому к нему можно вернуться через день.
Код на строгом TypeScript: полис, водитель и выплата описаны типами, и изменение поля в CRM сразу видно при сборке. Со стороны CRM стоит слой GraphQL: экран берёт только нужные поля, права проверяет сервер, клиент видит только свои договоры. Загруженный документ попадает в карточку клиента, менеджеру приходит задача на проверку.
Результат. Клиенты продлевают полисы по напоминанию сами, документы по страховому случаю загружают с телефона, статус выплаты видят без звонка. Менеджеры занимаются сложными расчётами, данные в одной CRM, дату окончания полиса видят все. Оплату в кабинете можно добавить без переделки основы.
Евгений Росляков, сайты с 2016 года. Работаю как самозанятый по договору, закрывающие документы для юрлиц.