Sėkmės istorija

Perėjimas iš „Treatwell“: kaip perkėlėme septynerių metų salono istoriją į „SalonRadar“

Priežastis, dėl kurios dauguma salonų ir toliau naudoja programinę įrangą, kuri jau nebeatitinka jų poreikių, nėra mėnesinis mokestis. Tai baimė atsisakyti savo istorijos. Štai ką reikėjo padaryti, kad tą istoriją būtų galima perkelti į naują sistemą.

SalonRadar · Redakcijos komanda

7 min. skaitymo

perkeltos užsakymų istorijos
7 metai
rezervacijų ir ~15 000 klientų įrašų
~37 000
importuoti visą istoriją
3 min.
Verslas
Estetikos klinika (pavadinimas neskelbiamas)
Miestas
Lietuva
Komanda
60+ dabartinių ir buvusių darbuotojų
Su salonradar nuo
2026 m. rugsėjis

Trumpai

  1. Užsakymų istorija yra tikrosios perėjimo išlaidos, ir ji gali būti perkeliama kartu su jumis.
  2. Kiekvienas importavimas pirmiausia išbandomas ir vėliau gali būti atšauktas.
  3. Dirbtinis intelektas suderino senus paslaugų pavadinimus su dabartiniu meniu ir nerado jokios informacijos apie kokį nors asmenį.

Paklauskite grožio salono savininkų, ką jie prarastų pakeitę užsakymų tvarkymo programinę įrangą, ir jis retai paminės funkcijas. Jis paminės žmones. Klientą, kuris reaguoja į konkretų produktą. Tą, kuris šiemet atšaukė keturis kartus. Nuolatinius klientus, kurių paskutinis apsilankymas leidžia tiksliai numatyti, kada laukti kito. Ši informacija glūdi ilgamečių užsakymų ir užrašų duomenyse, ir būtent tai yra tikrosios perėjimo išlaidos.

Kai viena estetikos klinika paprašė perkelti duomenis į „SalonRadar“, savininkas aiškiai išdėstė sąlygą: turi būti perkeltas ir visas istorinis duomenų rinkinys. Ne tik vardų ir pavardžių lentelė. O visas darbo istorijos įrašas.

Kas buvo perkeltaApytiksliai
Klientų įrašų15 000
Rezervacijų37 000
Užsakymų istorija7 metai
Dabartiniai ir buvę darbuotojai60+

Pagrindinės taisyklės

Įrašai priklauso salonui. Savininko nurodymu ir gavę jo leidimą, mes juos eksportavome iš paties salono „Treatwell“ paskyros. Prieš perkeliant bet kokią informaciją į „SalonRadar“, susitarėme dėl keturių taisyklių:

  • Žiūrėkite, bet nelieskite. Eksportas vykdomas tik skaitymo režimu. Salonas visą laiką toliau dirbo naudodamas esamą sistemą, ir joje niekas nepasikeitė.
  • Jokių netikėtumų klientams. Importavimo procesas jokiu būdu neturi siųsti el. laiškų, SMS žinučių ar priminimų. Niekas neturėtų sužinoti, kad salonas pakeitė programinę įrangą, nes vidurnaktį gavo automatinę žinutę.
  • Pirmiausia atlikite bandomąjį importą. Kiekvieną importą galima paleisti bandomajame režime, kuris atlieka visus tikrojo importo veiksmus, o po to juos atšaukia, kad savininkas galėtų pamatyti tikslų rezultatą prieš patvirtindamas.
  • Turėkite galimybę grįžti atgal. Jei vėliau kas nors atrodo neteisinga, viena komanda turi viską vėl pašalinti.

Su kokiais sunkumais susidūrėme

Eilučių kopijavimas iš vienos duomenų bazės į kitą – tai lengviausi penki procentai. Likusi dalis susijusi su tuo, kad dvi sistemos veikia skirtingais principais.

Vienas apsilankymas nėra vienas įrašas

Klientas, atėjęs veido procedūros ir antakių dažymo vizitui, atliko vieną apsilankymą. Šaltinio duomenyse tai buvo du atskiri, vienas po kito einantys susitikimai. Importavus duomenis tokius, kokie jie yra, kiekvieno kliento istorija atrodytų intensyvesnė, nei buvo iš tikrųjų, o apsilankymų skaičius būtų padidintas. Susijusius susitikimus, kurie neabejotinai yra vienas apsilankymas (tas pats klientas, tas pats specialistas, vienas po kito), sujungiame į vieną užsakymą su keliomis paslaugomis, o viską kitą paliekame nepakeista.

Žmonės, kurie čia jau nebedirba

Per septynerius metus dešimtys specialistų atėjo ir išėjo, o daugiau nei pusė visų užsakymų priklausė tiems, kurie jau buvo išėję. Šių užsakymų pašalinimas būtų ištrinęs didžiąją dalį istorijos; jų priskyrimas savininkui būtų ją iškraipęs. Buvusių darbuotojų vartotojų paskyrų kūrimas buvo neįmanomas. Todėl kiekvienam buvusiam specialistui sukurtas archyvuotas įrašas: vardas ir pavardė praeities užsakymuose, be prisijungimo duomenų, be el. pašto adreso, be vietos kalendoriuje ar viešame profilyje. Dabartiniai darbuotojai susieti su savo tikromis paskyromis.

Atšaukimai taip pat yra vizitas

Testuojant perkėlimo mechanizmą pastebėjome, kad keletas atšauktų užsakymų tyliai išnykdavo. Priežastis buvo logiška: jei laiko tarpas jau užimtas, atmetamas naujas užsakymas kaip pasikartojantis. Tačiau ir atšaukimas, ir vėliau tą patį laiko tarpą užpildęs apsilankymas yra tikri įvykiai, o būtent atšaukimas ir parodo kliento patikimumą. Mes pataisėme taisyklę ir pridėjome patikrinimą, kad ji veiktų teisingai.

Kur dirbtinis intelektas padėjo, o kur jo nenaudojome

Mažiausiai tikėtina problema buvo pavadinimai. Rezervacijos sistema įsimena, kaip paslauga buvo vadinama rezervacijos dieną, o salonas nuolat keičia savo paslaugų sąrašą. Po septynerių metų trečdalis visų užsakytų paslaugų pavadinimų nebeatitiko nė vienos paslaugos šiandieniniame sąraše. Viena iš dažniausiai užsakomų klinikos paslaugų tiesiog nebeegzistavo tuo pavadinimu – ji tapo ilgesnė ir konkretesnė.

Nė viena teksto atitikimo taisyklė to nepadeda išspręsti. Tai yra sprendimas, susijęs su prasmės vertinimu, todėl šią užduotį patikėjome dirbtinio intelekto modeliui, sukurtam būtent tokio pobūdžio sprendimams priimti (TypeSafe „Jev“): kiekvienam senajam paslaugos pavadinimui pasirinkti atitinkamą paslaugą iš dabartinio meniu arba nurodyti, kad atitikimo nėra. Svarbiausia, kad modelis taip pat nurodo, kiek jis yra įsitikinęs savo sprendimu.

  • Įsitikinę atsakymai buvo priimami automatiškai. Vien tai padidino su esama paslauga susijusių istorinių užsakymų dalį nuo 67 % iki 90 %.
  • Viskas, kas buvo žemiau įsitikinimo slenksčio, patekdavo į trumpą peržiūros sąrašą savininkui, kuriame pirmiausia buvo rodomi dažniausiai naudojami variantai, o šalia – modelio antrasis spėjimas. Kai kurie iš jų yra verslo, o ne techniniai sprendimai: jei vieną procedūrą pakeitėte kita, ar tai ta pati paslauga, ar ne?
  • Tais atvejais, kai modelis nebuvo tikras, jo sprendimas paprastai pasirodydavo teisingas. Viena senoji paslauga buvo dviejų dabartinių paslaugų derinys, o modelis savo atsakymą paskirstė beveik po lygiai tarp jų.

Riba buvo ne mažiau svarbi nei galimybės. Modelis gavo paslaugų pavadinimus, jų meniu kategorijas, trukmę ir kainą, tačiau jokios informacijos apie asmenis. Taip pat pasinaudojome AI kodavimo asistentu, kuris padėjo sukurti ir išbandyti migracijos procesą, o inžinieriai peržiūrėjo kiekvieną pakeitimą. AI nepriėmė jokių sprendimų dėl kliento duomenų, o niekas nebuvo importuota be žmogaus atlikto patikrinimo.

Saugumo mechanizmas

Importuotojas eksportuojamus duomenis traktuoja kaip srautą, o ne įkelia juos visus iš karto; duomenis įkelia mažomis partijomis, todėl, jei procesas nutrūksta, jis tiesiog tęsiamas toliau; be to, sistema atpažįsta viską, kas jau buvo importuota, todėl, net jei procesas vykdomas du kartus, duomenys niekada nepasikartoja. Visa istorija importuojama per maždaug tris minutes.

Tada išbandėme atvirkštinį procesą. Į salono paskyros kopiją iš tikrųjų importavome visus 15 000 klientų, atlikome atstatymą ir palyginome duomenų bazę prieš ir po: visi skaičiai sutapo, netgi darbuotojų įrašai ir pareigų priskyrimai. Šis išsamus testas pasiteisino. Jis atskleidė trūkumą, kurio nepastebėjo mažesni testai: importavimo programa, sujungusi pasikartojančią kliento kortelę praėjus minutei po jos sukūrimo, atstatymo operacijai atrodė tarsi asmuo redaguotų tą klientą, todėl keli įrašai buvo neteisingai apsaugoti. Atstatymo taisyklė yra apgalvota. Ji pašalina tai, ką įrašė importavimo programa, bet niekada nepašalina to, ką kas nors pakeitė vėliau. Ji tiesiog neturi supainioti savo paties darbo su kito asmens veiksmais.

Ši nesudėtinga technologija buvo pasirinkta sąmoningai: nedidelis „Node.js“ eksportuotojas, į mūsų „Laravel“ programą, veikiančią su „PostgreSQL“, integruotas importuotojas ir dešimtys naujų automatizuotų testų, užtikrinančių, kad būtų laikomasi visų čia aprašytų taisyklių, todėl kito salono migracija prasidės nuo visko, ko mus išmokė šis projektas.

Privatumas buvo projektavimo apribojimas, o ne atsakomybės atsisakymas

  • Sutikimas dėl rinkodaros nėra perkeliamas. Leidimas, kurį klientas kadaise suteikė susisiekti su juo per kitą platformą, nereiškia leidimo susisiekti su juo per mūsų platformą. Jis nebuvo perkeltas. Klientų bus paklausta dar kartą.
  • Nieko niekam nebuvo išsiųsta. Jokių el. laiškų, jokių SMS žinučių, jokių pranešimų, ir niekas iš to neužkimšo salono veiklos srauto.
  • Salonas sprendžia; mes tvarkome. Savininkas pasirinko, kas ir kada bus perkelta. Mes tvarkėme duomenis salono vardu tik perkėlimo tikslais ir niekuo kitu.

Ką tai reiškia, jei ketinate pereiti prie kitos platformos

Jūsų užsakymų istorija – tai jūsų verslo duomenys, kurie turėtų būti perkelti kartu su jumis. Klinika pirmąją darbo dieną atidarė „SalonRadar“ sistemą, kurioje jau buvo įkelta septynerių metų klientų istorija, ir toliau dirbo kaip įprasta.

Jei naudojatės „Treatwell“ ar kita sistema ir jus sulaiko tai, ką turėtumėte palikti, susisiekite su mumis. Mes paaiškinsime, ką galima perkelti, parodysime, kaip tai atrodys, atlikdami bandomąjį perkėlimą su jūsų duomenimis, kol dar nebus imtasi jokių veiksmų, ir galėsime viską atšaukti, jei persigalvosite.

Klausimai, kuriuos užduoda salonų savininkai

Ar mano klientai bus informuoti, kai jų duomenys bus importuoti?

Ne. Importuojant duomenis niekas nesiunčiama (nei el. laiškų, nei SMS, nei pranešimų), o priminimai apie artėjančius užsakymus lieka išjungti, kol jų neįjungsite.

Ar matoma visa mano istorija?

Klientai, užrašai ir užsakymai, įskaitant atšaukimus ir neatvykimus, nurodant specialistą ir kiekvieno apsilankymo kainą. Nedidelė dalis įrašų negali būti perkelta: klientų kortelės, kuriose nėra vardo, telefono numerio ar el. pašto adreso, negali būti susietos su jokiu asmeniu.

O kaip dėl darbuotojų, kurie išėjo iš darbo?

Jų ankstesniuose užsakymuose lieka jų vardai. Jiems nesukuriama paskyra, jie negauna prisijungimo duomenų ir jiems neskiriama vietos jūsų kalendoriuje ar viešajame profilyje.

Ar galiu toliau naudotis dabartine sistema, kol tai vyksta?

Taip. Pirmiausia perkeliama istorija, o jūs dirbate kaip įprasta. Perėjimo dieną per trumpą galutinį procesą perkeliami nauji duomenys, įskaitant artėjančius susitikimus.

Ką daryti, jei kas nors nepavyks?

Prieš įgyvendinant bet kokius pakeitimus, galėsite peržiūrėti visą procesą, o po to importą bus galima atšaukti, nepaliekant jokio poveikio tam, ką tuo metu pridėjote ar redagavote.


„Treatwell“ yra atitinkamo savininko prekės ženklas. „SalonRadar“ nėra susijęs su „Treatwell“, nėra jo remiamas ir nėra jo partneris. Šis duomenų perkėlimas buvo atliktas pagal salono savininko nurodymą iš paties salono paskyros. Skaičiai suapvalinti.