Gestire gli abbonamenti di un coworking senza perdere il conto di ciò che è già pagato
Nel momento in cui un piano include qualcosa — ore di sala riunioni, una postazione fissa, ingressi per ospiti — il tuo sistema di prenotazioni deve rispondere a una domanda nuova al momento della prenotazione: questo è già pagato?
Due cose che è facile confondere
Un abbonamento è un diritto: un accordo continuativo che concede accesso, e spesso una dotazione, per un periodo. Una prenotazione è un consumo di quel diritto, oppure un acquisto separato quando nulla lo copre.
I sistemi che modellano l'abbonamento come uno sconto sulle prenotazioni funzionano esattamente finché ogni piano è una percentuale di sconto. Si rompono al primo piano che include otto ore di sala al mese, perché "incluso" non è uno sconto: è un saldo che si consuma, e una prenotazione deve sapere se sta attingendo a quel saldo o se viene venduta a parte.
La conseguenza pratica: una prenotazione dovrebbe registrare a quale abbonamento è stata imputata. Senza quel collegamento non puoi rispondere, più avanti, se una certa prenotazione era inclusa o fatturata, e di sicuro non puoi ricostruire la dotazione residua di un membro.
Decidi cosa fa una dotazione ai bordi
Ogni piano con ore incluse ha bisogno di una risposta esplicita a quattro domande, e le risposte sono politica commerciale, non ingegneria:
- Che fine fanno le ore non usate a fine periodo: scadono o si accumulano?
- Cosa succede quando un membro supera la dotazione: si rifiuta la prenotazione, o si accetta e si fattura l'eccedenza?
- Una prenotazione annullata restituisce le sue ore, e dipende da quanto tardi è stata annullata?
- Quando un membro entra a metà mese, riceve la dotazione piena o una quota?
Sembrano dettagli minori. Sono quelli che generano ogni conversazione imbarazzante al momento della fatturazione, ed è molto meno costoso deciderli prima che si iscriva il primo membro che ricostruirli dopo, partendo da una discussione.
Quella su cui vale la pena ragionare di più è la seconda. Rifiutare la prenotazione protegge la tua capienza ma manda via un membro pagante; accettare e fatturare lo tiene al lavoro ma produce una fattura che non si aspettava. Qualunque cosa tu scelga, il membro va avvisato al momento della prenotazione, non a fine mese.

Le prenotazioni ricorrenti sono una pianificazione, non un inserimento massivo
"Ogni martedì, dalle 09:00 alle 13:00, per i prossimi sei mesi" si può implementare come ventisei righe create in anticipo. È l'approccio ovvio e causa tre problemi precisi.
Primo, la disponibilità: ognuna di quelle occorrenze deve superare gli stessi controlli di conflitto di una prenotazione singola, e alcune non ci riusciranno. Una serie ricorrente che salta in silenzio le settimane che non è riuscita a prenotare è peggio di una che ti dice al momento della creazione quali date non sono disponibili.
Secondo, la modifica: quando il membro vuole spostare l'orario, devi sapere se intende quell'occorrenza o l'intera serie. Se le righe sono indistinguibili da ventisei prenotazioni scollegate, quella scelta non puoi offrirla.
Terzo, l'orizzonte: una serie senza fine dev'essere estesa da qualcosa, e quel qualcosa è un job che può smettere di girare in silenzio.
Il punto non è che pre-generare le occorrenze sia sbagliato: rende molto più semplici il calendario e le query di disponibilità. Il punto è che la serie deve restare un oggetto di prima classe a cui le occorrenze appartengono.
Il rinnovo è una scadenza, quindi automatizzalo come tale
Gli abbonamenti scadono, e nessuno se ne accorge finché l'accesso non smette di funzionare o un mese di ricavi non sparisce in silenzio. È una condizione programmata — diventa vera col passare del tempo, non perché sia successo qualcosa — il che la rende esattamente il tipo di cosa che una regola dovrebbe sorvegliare.
Per questo Boris espone la scadenza dell'abbonamento come trigger di automazione. La parte di valore non è l'email: è che il promemoria parte dai dati invece che dalla memoria di qualcuno, in un momento in cui c'è ancora tempo per fare la conversazione sul rinnovo.
Cosa sistemare per primo
- Collega ogni prenotazione all'abbonamento che ha consumato, o deliberatamente a nessuno.
- Metti per iscritto le regole su accumulo, eccedenza, disdetta e riproporzionamento prima di partire.
- Avvisa i membri al momento della prenotazione quando stanno per superare una dotazione.
- Tieni le serie ricorrenti come serie, non come copie sciolte.
- Fai della scadenza un trigger programmato, non un compito che qualcuno ricorda.
