Студия разработки сайтов и приложений

Netspark.ru

Скрипт для типографики

Typofilter.js

CRM для туристических агентств

В 2017 году уговорил жену открыть турагентство, взяли домен, собрал сайт на OctoberCMS, и так появилось туристическое агентство AlayTravel. После чего, поскольку программировать я люблю, искать лёгких путей — нет, а жена вообще хотела всё записывать в эксель, сел писать для агентства систему CRM/документооборота. Взял Laravel и Vue.js, методику Test Driven Development, и через какое-то время написал. Жена начала пользоваться, а я — потихоньку дорабатывать первую «наивную» реализацию и думать, что с этим дальше делать. Ну, потому что писать целую CRM имея в виду работу одного агентства — это немножечко overkill чересчур.

Пока я думал и готовился, мир, аэропорты и туристический бизнес накрыло пандемией COVID-19. Все надели масочки, облились дезинфектором, и в аэропорты ездили, в основном, чтобы вернуть деньги за неиспользованные билеты. Стало сильно непонятно, что в такой ситуации произойдет с турбизнесом, но агентство мы не закрыли. И после пандемии туристы очухались, поправились, и снова стали летать.

И только я опять хотел вернуться к своей цеэрэмке, как началась СВО. И полетные программы несколько подсократились, и понимание чего там дальше будет немножко размыло. Но, видимо помня короновирус, туристы очухались и полетели. И в принципе стало ясно, что будут летать дальше (тьфу-тьфу-тьфу). К этому моменту у меня уже на CRM было не очень много времени, так что она работала себе и работала — для одного агентства.

Но несколько месяцев назад, когда на Ближнем Востоке активно летали ракеты, я подумал:

10bd194e6d339872c10027bb969b70d4.jpg

А то Третья мировая на носу, весь мир в труху, а я свою CRM так и не выпущу. И стал потихоньку вкладывать в нее рабочие часы.

Написал объединение отдельных пользователей в агенство с учетом расходов и авторасчетом комиссий участников, прибил несколько неприятных косяков. И теперь системой уже пользуется несколько агентов, а я пишу вот этот анонс и планирую как всё это побыстрее и получше выпустить в свет. Точнее, в открытое использование, так-то система уже 7 лет живет на отдельном домене и в нее можно зайти — если аккаунт есть.

В общем, что это за система. Это CRM-документооборот, с учетом заявок и бронирований, поддержкой агентств с контролем доступа к базе турисов и броней, с возможностью вести учет сделанных и оставшихся платежей. По каждой брони можно автоматически генерировать документы (договор) с подстановкой реквизитов турагента и данных туристов. Выглядит примерно так:

crm1.png

В системе есть база всех туроператоров России с реквизитами и фингарантиями, раньше она синхронизировалась каждый день с открытым реестром Ростуризма. Но в 2023-м кто-то умный решил, что реестр нужно закрыть, а нормальную замену ему сделать забыли. Поэтому данные по операторам немного устаревшие, работаю над этим.

Также есть календарь событий:

Про этот календарь когда-то написал, кстати, 2 технических статьи:

Еще есть удобный поиск с автодополнением по всем доступным пользователю сущностям (заявкам, броням, туристам, операторам, направлениям). Ну и всякое разное по мелочи.

Изначально система сделана не столько для всяких там воронок, сколько для учета броней, комиссий, и генерации документов. Но сейчас работаю в отдельной ветке над статистикой продаж и учетом источников заявок.

Один из основных затыков сейчас — это версии использованного ПО. Laravel у нас версии 6, а Vue — версии 2. И если с Laravel есть нормальные дорожные карты по постепенному апгрейду до 12, и с учетом того, что весь бэкэнд покрыт тестами, апнуться не должно быть сложно. То Vue 3 это другой зверь и там, как я понимаю, надо либо руками компоненты пересоздавать и заодно Vuex менять на другой state manager, либо не трогать вообще. В принципе разрабатывать можно и без обновления, поддержку объединений в агентства я и на старых версиях нормально сделал.

Но уже столкнулся с небольшим локальным адом зависимостей, когда пытался подстроить убежавшие вперед инструменты сборки фронтэнда под старые версии всего в package.json проекта. С этим, кстати, хорошо помог Cursor AI — правил настройки зависимостей почти час под моим присмотром и, в конце концов, всё собралось.

Такой вот анонс. Буду дальше двигаться в сторону официального запуска системы и постараюсь регулярно что-то об этом писать.

Обсуждение

Чтобы обсудить заметку, написать комментарий, или просто связаться, заходите в Телеграм-канал. У нас весело и всем рады!

Также меня можно найти в Хвиттере, VC.ru, Дзене, или Тенчате.