Passa al contenuto principale

Panoramica della piattaforma

Formando PerCorsi mette in relazione famiglie che cercano lezioni private e insegnanti che le erogano, amministrando per conto di entrambi tutto ciò che la prenotazione comporta: verifica delle disponibilità, determinazione del prezzo, incasso, ripartizione dei compensi e adempimenti fiscali.

Questa pagina descrive i soggetti coinvolti, il ciclo di vita di una lezione e le componenti che compongono il sistema. Le singole aree sono approfondite nelle guide dedicate.

Soggetti

SoggettoRuolo
FamigliaUnità di riferimento per la prenotazione e il pagamento. È composta da un genitore di riferimento (paterfamilias), eventuali altri tutori e uno o più studenti. Endpoint: Family, Family Students.
StudenteDestinatario della lezione. È associato a una scuola e a un anno di corso, da cui dipendono le materie prenotabili. Endpoint: Family Student Subjects.
InsegnanteDichiara le proprie disponibilità, le materie e i livelli scolastici che può coprire, ed eroga le lezioni. Endpoint: Teacher.
Scuola esterna di competenzaPartner locale che gestisce gli insegnanti di una determinata area geografica. Quando esiste copertura per la città della famiglia, è il soggetto che incassa il pagamento e che successivamente gira all'insegnante la quota dovuta.
AmministrazioneGestisce anagrafiche, candidature degli insegnanti, configurazione dei prezzi, verifica dei pagamenti e reportistica. Endpoint: Admin - Users, Admin - Lessons, Admin - Availability, Admin - Finance.

Ai soggetti della piattaforma si affiancano tre servizi esterni con un ruolo funzionale rilevante: Stripe per incassi, trasferimenti e bonifici; Acube come intermediario verso il Sistema di Interscambio per la fatturazione elettronica; Google Calendar per la sincronizzazione degli impegni degli insegnanti.

Ciclo di vita di una lezione

Il percorso che va dalla dichiarazione di disponibilità all'accredito del compenso attraversa quasi tutte le aree del sistema.

1. L'insegnante dichiara le proprie disponibilità
└─► il sistema ne deriva gli slot effettivamente prenotabili

2. La famiglia cerca una lezione (materia, durata, modalità, orario)
└─► il sistema propone gli insegnanti disponibili, ordinati per pertinenza

3. La famiglia conferma e paga
└─► il prezzo tiene conto di eventuali promozioni, crediti e copertura assicurativa
└─► l'incasso avviene sul conto dell'insegnante o della scuola esterna di competenza

4. La lezione viene erogata
└─► cancellazioni e modifiche seguono regole diverse a seconda di chi le richiede
e di quanto tempo manca all'inizio

5. A fine mese il sistema liquida i compensi
└─► calcola le quote spettanti a ciascun soggetto, emette i documenti fiscali
ed esegue i trasferimenti

Ciascuna fase è documentata in dettaglio:

FaseGuidaRiferimento API
Accesso al sistemaAutenticazioneAuth
Dichiarazione e derivazione delle disponibilitàDisponibilitàAvailability, Availability Group
Ricerca e ordinamento degli insegnantiOrdinamento dei risultati di ricercaAvailability
Prenotazione di più lezioni in un'unica soluzionePercorsi formativiLesson
Prezzo, incasso, ripartizione e fatturazionePagamenti, payout e fatturazioneLesson, InvoiceLegislation
Copertura assicurativa e sinistriCopertura assicurativaLesson
Crediti e programma di segnalazioneCrediti e programma referralFamily Referral
Comunicazioni agli utentiNotificheNotification

Componenti del sistema

Applicazioni client. Interfacce utente distinte per famiglie, insegnanti e amministrazione. Sono progetti separati e comunicano con la piattaforma esclusivamente tramite l'API REST documentata in questo sito. Le caratteristiche dell'applicazione web attualmente in uso, comprese le regole che risiedono solo nel client, sono descritte in Applicazione web.

API REST. Il punto di accesso unico a tutte le funzionalità. Autenticazione a token, formato JSON, contratto descritto nella API Reference. Non esiste un livello intermedio fra client e piattaforma: ogni regola di business è applicata lato server.

Elaborazioni asincrone. Una parte rilevante del comportamento della piattaforma non è innescata da una richiesta HTTP ma da lavorazioni pianificate: derivazione notturna delle disponibilità, calcolo degli indicatori usati per l'ordinamento in ricerca, liquidazione mensile dei compensi, promemoria delle lezioni, passaggio di classe annuale, scadenza delle coperture assicurative. Chi integra un client deve tenerne conto: alcuni dati cambiano senza che il client abbia compiuto alcuna azione.

Integrazioni esterne. Incassi e trasferimenti su Stripe, fatturazione elettronica tramite Acube, sincronizzazione calendario e generazione dei collegamenti per le lezioni online tramite Google, invio di messaggi tramite email e WhatsApp.

Glossario

TermineSignificato
AvailabilityFascia oraria che un insegnante dichiara come disponibile.
Effective AvailabilityTempo che resta realmente libero dopo aver sottratto lezioni già prenotate e tempi di spostamento.
Consecutive AvailabilitySlot concretamente prenotabile, derivato da una Effective Availability per una specifica durata e modalità.
Percorso formativoInsieme di lezioni prenotate in un'unica soluzione a condizioni economiche dedicate.
Pricing bandFascia di ore mensili insegnate, da cui dipende la ripartizione del compenso fra insegnante e piattaforma.
ProviderSoggetto che incassa materialmente il pagamento di un ordine: la scuola esterna di competenza, se presente, altrimenti l'insegnante.
SinistroEvento che attiva la copertura assicurativa acquistata su un ordine, tipicamente una cancellazione a ridosso della lezione.
Credito famigliaImporto maturato dalla famiglia, spendibile in automatico sulle prenotazioni successive.