APIANT

Funktionen vi undvek i åratal, byggdes på dagar

Hur ShopConnect lärde sig att sälja en bokning, och vad det lärde oss om att bygga med en AI-operatör på en AI-först-plattform

En kvinna i spa-badrock väljer en tid på sin telefon mot bakgrund av tillgänglighet i realtid i varmt morgonljus.

Hur ShopConnect lärde sig att sälja en bokning, och vad det lärde oss om att bygga med en AI-operatör på en AI-först-plattform.

Så länge vi har paketerat integrationer som nyckelfärdiga produkter har en förfrågan kommit tillbaka mer än någon annan. Låt en kund boka en Mindbody-tid eller klass i samma ögonblick som de köper den i en Shopify-butik, mot faktisk tillgänglighet. Vi har hört det i flera år. Vi byggde det aldrig.

Vi var ärliga om varför. Idén var liten att beskriva men enorm att leverera. Hämta lediga tider från ett schemaläggningssystem som kan omfatta flera platser. Dirigera varje bokning till rätt plats. Gör allt i någon annans butik, i deras varukorg, och gör det tillräckligt pålitligt för att sälja. Varje gång vi tittade på det, tittade komplexiteten tillbaka. Så det stannade kvar på "någon gång, kanske"-listan, den artiga platsen där bra idéer ska vänta.

Sedan byggde vi det på några dagar. Uttänkte, planerade, byggde, testade och gjorde det klart för driftsättning som ett alternativ, på kortare tid än vi brukade lägga på att kartlägga allt. Detta är berättelsen om hur och varför det bara kunde hända nu.

Den åratal långa önskan

Fråga vem som helst som säljer tjänster online vad de vill ha från sin butik, och du kommer fram till samma punkt. De vill att försäljningen och bokningen ska vara i en enda rörelse. Köp massagen och välj en tid. Köp klasspaketet och ta en plats. Ett flöde, inget uppehåll, inget uppföljningsmejl som hälften av människor ignorerar. Det är önskan. Den är uppenbar. Det är också därför den inte byggdes, eftersom uppenbart och enkelt inte är samma ord.

Varför vi aldrig byggde det

Det svåra var aldrig knappen. Det var allt bakom knappen.

Tillgängligheten måste vara verklig och levande, för inget bränner förtroendet snabbare än att erbjuda en tid som redan är borta. Ett enda företag kan ha mer än en plats, var och en med sitt eget schema, och butiken måste veta vilken en kund tittar på. Bokningen måste landa på rätt plats efter betalning, varje gång, utan att en människa behöver vaka över den. Och allt detta måste leva elegant inuti en butik vi inte äger, bredvid produkter som inte har något med bokning att göra, utan att vidröra en kassa som redan fungerar.

Vilket som helst av dessa är hanterbart. Tillsammans bildar de den typen av projekt som äter en fjärdedel och ändå känns skört i slutändan. Vi respekterade det tillräckligt för att fortsätta säga nej än.

Delad scen: en studiovåning på ena sidan, en ren bokningsskärm för webbutik på den andra, sammanfogade av varmt ljus. Två världar, en rörelse: träningsgolvet och butiksfasaden, äntligen förenade.

Vad som förändrades

Det som förändrades var inte vår aptit för problemet. Det var hur problemet löstes.

Vi bygger nu vidare på en AI-förstärkt integrationsarkitektur, och skillnaden är inte en snabbare version av det gamla sättet. Det är ett annat sätt. Plattformen, kopplingarna, körtiden som bär varje förfrågan, maskineriet för många konton och många platser, de återanvändbara byggstenarna, distributionspipelinen, möjligheten att köra en riktig exekvering och se vad som händer: allt är utformat för att drivas, inte bara användas. Operatören är Claude Code.

Den kombinationen är hela historien, så vi säger det rakt ut. Det här är inte något som ett AI-kodningsverktyg hade kunnat producera på egen hand. En AI som skrev kod i ett vakuum skulle ha kört i samma vägg som vi, fast snabbare. Det som gjorde detta möjligt är en AI som driver ett ekosystem som är specialbyggt för att drivas av AI. Claude Code uppfann inte bokningar från första början. Den komponerade delar som redan existerade, kopplade flödet mellan dem, körde riktiga bokningar för att se dem lyckas, korrigerade det som inte fungerade, implementerade samma lösning över flera konton och bekräftade resultatet i en livebutik. Byggstenarna var APIANT:s. Bedömningen och händerna var AI:s. Ingen av hälfterna hade kunnat göra detta ensamma.

Bygget, i dagar

Det började inte med en specifikation. Det började med ett säljsamtal. En ny kund, potentiellt en av de största vi har tagit på oss, berättade tydligt för oss att livebokning i deras butik var den funktion de behövde. Så vi gjorde det självklara: vi matade transkriptet av samtalet direkt till AI:n och lät den arbeta utifrån vad kunden faktiskt hade sagt.

Därifrån gick det snabbt, precis som det känns att bygga på riktigt. Systemet kunde koppla ihop punkterna eftersom det är intimt med Shopify, med Mindbody och med vår avsikt. Det byggdes för skala från första början: en plats eller hundra nätverksanslutna platser fungerar på samma sätt, en sessionstyp eller ett dussin fungerar på samma sätt, och individuella möten och gruppklasser går via samma schemaläggningswidget. Framför allt eliminerade det den besvärliga väg som så många Mindbody-företag utsätter köpare för. Inget behov av att skapa ett konto, ingen verifiering av en e-postadress, inget köp på ett ställe och sedan logga in någon annanstans för att slutligen boka. Köpet och bokningen sker nu tillsammans, i en enda transaktion som tar mindre än en minut.

ShopConnect-bokningswidgeten på en Shopify-produktsida: välj en plats, en dag och en lektionstid i realtid och köp den sedan nu. Live på en Shopify-produktsida: välj en plats, en dag och ett riktigt öppet föredrag, och gå sedan till kassan. Köpet och bokningen är ett steg.

Dagar, inte färre. Det vi undvek i åratal var klart att skickas på en vecka.

När verktygen inte fanns, byggde den dem

Här är den del som fortfarande får oss att tänka till. Systemet kopplade inte bara ihop delar som redan låg omkring. Det körde på en vägg som plattformen aldrig hade passerat: att läsa och skriva själva Shopify-butikstemat. De flesta ansträngningarna stannade av där. Den här gången läste jag den relevanta Shopify-dokumentationen och byggde de saknade funktionerna som helt nya kopplingsåtgärder, direkt inuti plattformen. En åtgärd för att lista butikens teman. En åtgärd för att ladda upp widgetens skript till temat. En åtgärd för att ladda upp bokningskodavsnittet. En åtgärd för att hämta och skriva om produktmallen.

Inget av dessa var engångsskript. Var och en blev en förstklassig, återanvändbar byggsten som all framtida automatisering nu kan plocka upp och använda, utan att någon återupptäckt krävs. Det är ett avgörande drag för AI First: AI utökar plattformens eget ordförråd på begäran, och varje tillägg kompletterar för nästa build. Ett kodningsverktyg skriver kod som lever en gång. En AI-operatör på en AI-first-plattform bygger upp plattformen.

En del av installationsflödet som systemet monterade, visat som en kedja av sammankopplade handlingscirklar. En del av installationsflödet som systemet satte ihop. Varje cirkel är en återanvändbar åtgärd som det byggt eller komponerat, inklusive en Shopify-åtgärd "Lista butiksteman", som körs i ordning.

En åtgärds inställningspanel, en konfigurerbar, återanvändbar byggsten. Varje ny åtgärd är en verklig, konfigurerbar byggsten. Här är en åtgärds inställningspanel, redo att återanvändas i framtida automatiseringar.

Hur det fungerar, i korthet

Magin ligger i upplevelsen, inte i själva ledningsdragningen. Ett centralt konto orkestrerar allt och skickar varje förfrågan till rätt plats bakom kulisserna. Butiken läser en liten mängd strukturerad information om varje produkt för att veta vad som är bokningsbart och vad som bara är en vanlig sak att köpa. Tillgängligheten visas live som verkliga, valbara tider, eller som verkliga klasser med verkliga platser. Kunden väljer, betalar och bokningen görs automatiskt. Flera platser, en butik, en varukorg.

Nära skar av händer som väljer en tidslucka på en telefon, en bokningsbar klasslista som lyser mjukt. Det som brukade hända i ett uppföljningsmejl händer nu i varukorgen.

Varför bara en AI-operatör på en AI-först-plattform skulle kunna göra detta

Ta ett steg tillbaka och lägg märke till vad som faktiskt hände. Inget enskilt språng här var övermänskligt. Språnget låg i antalet olika typer av arbete som var tvungna att ske tillsammans, flytande, inom ett kort fönster. Att förstå ett verkligt symptom. Att resonera kring en arkitektur med flera platser. Att komponera befintliga kopplingar istället för att skriva allt nytt. Att köra livekörningar och läsa resultaten. Att åtgärda en djup bugg utan att tappa tråden. Att distribuera över många konton. Att verifiera i en riktig butik. Att skriva dokumentation.

Det är inte kodning. Det är drift. Och det fungerar bara när det som styrs är byggt för att styras, så att varenda en av dessa rörelser är något som plattformen redan vet hur man gör och AI:n kan styra. Ta bort den AI-första plattformen och du har en smart assistent som stirrar in i en vägg. Ta bort AI-operatören och du har en kraftfull plattform som väntar på någon med pengar över. Sätt ihop dem och en femårig "någon gång" blir en tisdag.

Vad det betyder för byggare

En yrkesperson som håller en surfplatta som visar ShopConnect-bokningswidgeten: lektionstider i realtid och en Köp nu-knapp. Samma bokningswidget, live på en surfplatta: välj en riktig lektionstid och köp den nu, i ett flöde.

Om du bygger integrationer är det här den delen som är värd att sitta med. Taket för vad du kan leverera har just flyttats, och inte med en procentandel. De projekt du i tysthet har undvikit, de vars komplexitet du kan känna i bröstet innan du har skrivit en rad, är precis de projekt den här kombinationen är bra på. Inte för att problemen blev mindre. För att avståndet mellan "vi borde" och "det är live" minskade.

Vi har respekterat ett problem i åratal. Nu respekterar vi det på ett annat sätt. Vi bygger upp det.

Tillgänglighet

Bokning av tillgänglighet i realtid är nu en del av ShopConnect, vår nyckelfärdiga Mindbody- och Shopify-integration, och den är tillgänglig för kunder som tillval idag. En kund kan boka en tid eller en kurs mot faktiska lediga tider, på flera platser, från en enda Shopify-butik, och betala innan de bokar. Om det är det flödet du har velat ha, skulle vi gärna hjälpa dig.