ORMS - Order Management System
Il sistema di gestione ordini e prenotazioni (ORMS) gestisce l'intero ciclo di vita delle prenotazioni, dalla ricerca alla conferma e gestione post-vendita.
Funzionalità Principali
Gestione Prenotazioni
- Lista Prenotazioni: Visualizzazione tutte le prenotazioni con filtri
- Dettaglio Prenotazione: Visualizzazione completa dati prenotazione
- Azioni: Modifica stato, cancellazione, export
- Gestione Clienti: Collegamento prenotazioni a clienti
Processo di Prenotazione
Il processo completo di prenotazione include:
-
Ricerca: L'utente cerca alloggi tramite il frontend
- Query al database con filtri (date, località, servizi)
- Comunicazione con Availability Engine: Verifica disponibilità in tempo reale dai sistemi esterni
- Comunicazione con Rate Engine: Recupero tariffe aggiornate dai sistemi esterni
- Price Engine: Calcolo prezzi finali considerando tariffe e regole business
- Risultati mostrati con disponibilità e prezzi aggiornati
-
Selezione: L'utente seleziona una struttura
- Caricamento dati struttura (cached)
- Visualizzazione dettagli, immagini, servizi
- Verifica disponibilità finale per le date selezionate
-
Prenotazione: Selezione date, camere e servizi
- Verifica disponibilità in tempo reale tramite Availability Engine
- Calcolo prezzi finali tramite Price Engine
- Validazione disponibilità prima di procedere
-
Checkout: Inserimento dati e pagamento
- Validazione dati utente
- Selezione tipo fattura: Utente sceglie tipo fattura (none, private, company)
- Inserimento dati fatturazione: Dati anagrafici e fiscali (P.IVA, CF, SDI, PEC se necessario)
- Validazione dati fiscali
- Processamento pagamento tramite gateway
- Creazione ordine nel database locale con dati fatturazione
-
Invio a Booking Engine: Invio prenotazione al sistema esterno
- Comunicazione con Booking Engine: Invio prenotazione via API/XML
- Ricezione conferma o errore dal booking engine esterno
- Aggiornamento stato ordine in base alla risposta
- Generazione codice riferimento esterno
-
Conferma: Ricezione conferma prenotazione
- Invio email conferma con dettagli prenotazione
- Fattura disponibile per download dalla piattaforma contabile
- Aggiornamento disponibilità nel sistema
Integrazione con Booking Engine Esterni
La piattaforma si integra con sistemi di Property Management System (PMS) e booking engine esterni per gestire disponibilità, tariffe e prenotazioni in tempo reale.
Tipi di Engine Supportati
1. Booking Engine
- Funzione: Invio prenotazioni ai sistemi esterni
- Comunicazione: API/XML con booking engine esterni
- Processo: Quando una prenotazione viene confermata, viene inviata al booking engine esterno
- Gestione: Raggruppamento prenotazioni per hotel e agreement code
- Risultati: Gestione risposte, codici di riferimento, gestione errori
2. Availability Engine (Motore Disponibilità)
- Funzione: Verifica disponibilità camere in tempo reale
- Comunicazione: Query disponibilità tramite API/XML
- Processo: Durante la ricerca, interroga il sistema esterno per verificare disponibilità
- Sincronizzazione: Aggiornamento disponibilità in tempo reale
- Provider Supportati: Netstorming, Kalisi, e altri
3. Rate Engine (Motore Tariffe)
- Funzione: Recupero tariffe e prezzi da sistemi esterni
- Comunicazione: Query tariffe per date e tipologie camera
- Processo: Calcolo prezzi basato su tariffe esterne
- Filtri: Supporto filtri avanzati (occupazione, servizi, etc.)
4. Price Engine (Motore Prezzi)
- Funzione: Calcolo prezzi finali considerando tariffe, disponibilità e regole business
- Processo: Combinazione dati da rate engine e regole di pricing
- Calcolo: Applicazione sconti, supplementi, tasse
Caratteristiche Tecniche
- Architettura Modulare: Sistema basato su interfacce e driver
- Multi-Provider: Supporto per più booking engine contemporaneamente
- Configurazione per Struttura: Ogni struttura può avere il proprio booking engine
- Configurazione per Camera: Ogni tipologia camera può avere engine specifici
- Comunicazione Asincrona: Gestione richieste asincrone per performance
- Throttling: Rate limiting per evitare sovraccarico sistemi esterni
- Logging: Tracciamento completo chiamate API per debug e audit
- Gestione Errori: Gestione robusta errori e retry automatici
Flusso Integrazione Booking Engine
Durante la Ricerca:
- Utente cerca alloggi con date e filtri
- Sistema interroga Availability Engine per verificare disponibilità
- Sistema interroga Rate Engine per ottenere tariffe
- Price Engine calcola prezzi finali
- Risultati mostrati all'utente con disponibilità e prezzi aggiornati
Durante la Prenotazione:
- Utente conferma prenotazione e completa pagamento
- Sistema crea ordine nel database locale
- Sistema invia prenotazione al Booking Engine esterno
- Booking Engine esterno conferma o rifiuta prenotazione
- Sistema aggiorna stato ordine in base alla risposta
- Utente riceve conferma con codice riferimento esterno
Configurazione
- Ogni struttura può essere configurata con booking engine specifico
- Configurazione include: URL endpoint, credenziali, parametri extra
- Supporto per configurazioni multiple (test, staging, produzione)
- Gestione token e autenticazione per ogni engine
Provider Supportati
- Netstorming: Sistema di booking e gestione hotel
- Kalisi: Sistema di gestione disponibilità e tariffe
- Altri provider configurabili tramite driver custom
Use Case Principali
Visualizzare Prenotazioni
- Attori: Admin, Booking Manager
- Descrizione: Visualizzazione lista prenotazioni con filtri e ricerca
- Flusso principale:
- Accesso alla sezione Prenotazioni
- Applicazione filtri (data, stato, cliente)
- Visualizzazione lista prenotazioni
- Accesso dettaglio prenotazione
- Visualizzazione informazioni complete
Gestire Stato Prenotazione
- Attori: Admin, Booking Manager
- Descrizione: Modifica stato prenotazione (pending, paid, cancelled, etc.)
- Flusso principale:
- Accesso a dettaglio prenotazione
- Selezione nuovo stato
- Conferma modifica
- Aggiornamento stato nel sistema
- Notifica cliente se necessario
Export Prenotazioni
- Attori: Admin, Booking Manager
- Descrizione: Export dati prenotazioni in formati standard (CSV, Excel)
- Flusso principale:
- Accesso alla sezione Prenotazioni
- Applicazione filtri per selezione
- Selezione formato export
- Generazione file export
- Download file
Use Case Diagram - ORMS
Questa sezione illustra il diagramma degli use case del sistema ORMS (Order Management System), mostrando le principali funzionalità e interazioni tra gli attori e il sistema di gestione prenotazioni.
Diagramma Use Case ORMS
Il diagramma seguente mostra tutti gli use case principali del sistema ORMS:

Panoramica
Il diagramma degli use case del sistema ORMS mostra le interazioni tra gli attori (sistemi e utenti) e le funzionalità (use case) del sistema di gestione prenotazioni. Questo diagramma aiuta a comprendere:
- Chi interagisce con il sistema ORMS (attori)
- Cosa può fare il sistema (use case)
- Come gli attori interagiscono con le funzionalità
- Quali integrazioni esterne sono coinvolte
Attori Principali
1. Back 4 Front
Il sistema Back 4 Front rappresenta il frontend della piattaforma Bauking:
- Inizia il processo di prenotazione
- Gestisce l'interfaccia utente per le prenotazioni
- Comunica con ORMS per creare nuove prenotazioni
2. Bauking Admin
L'amministratore Bauking ha accesso completo alle funzionalità di gestione prenotazioni:
- Visualizzazione di tutte le prenotazioni
- Gestione e cancellazione prenotazioni
- Visualizzazione dettagli prenotazioni
- Controllo completo del sistema
3. Bauking Cliente B2C
Il cliente B2C (Business to Consumer) rappresenta l'utente finale:
- Visualizzazione delle proprie prenotazioni
- Accesso ai dettagli delle prenotazioni effettuate
- Gestione prenotazioni personali
4. CRM (Customer Relationship Management)
Il sistema CRM è un attore esterno opzionale che:
- Accede alle informazioni sulle prenotazioni tramite Zendesk
- Visualizza booking per gestione clienti
- Supporta operazioni di customer service
Use Case Principali
Gestione Prenotazioni
Use Case: Place Booking
- Attori: Back 4 Front
- Descrizione: Creazione di una nuova prenotazione tramite il frontend
- Precondizioni: Utente ha selezionato alloggio, date e servizi
- Flusso principale:
- Back 4 Front invia richiesta di prenotazione a ORMS
- ORMS processa la richiesta
- ORMS contatta il Booking Engine esterno
- ORMS persiste la prenotazione nel database
- ORMS contatta il sistema contabilità
- Conferma prenotazione inviata a Back 4 Front
Use Case: Vedi tutti i Booking
- Attori: Bauking Admin
- Descrizione: Visualizzazione di tutte le prenotazioni nel sistema
- Flusso principale:
- Bauking Admin accede alla sezione prenotazioni
- ORMS recupera tutte le prenotazioni dal database
- ORMS può contattare Booking Engine per informazioni aggiornate
- Lista prenotazioni mostrata all'admin con filtri e ricerca
Use Case: Vedi booking
- Attori: Bauking Admin, Bauking Cliente B2C
- Descrizione: Visualizzazione dettagli di una specifica prenotazione
- Flusso principale:
- Attore richiede visualizzazione prenotazione specifica
- ORMS recupera dati prenotazione dal database
- ORMS può contattare Booking Engine per informazioni aggiornate
- Dettagli prenotazione mostrati all'attore
Use Case: Annulla un booking
- Attori: Bauking Admin
- Descrizione: Cancellazione di una prenotazione esistente
- Precondizioni: Prenotazione esistente e valida
- Flusso principale:
- Bauking Admin seleziona prenotazione da cancellare
- ORMS contatta Booking Engine per cancellazione
- ORMS aggiorna stato prenotazione nel database
- ORMS contatta sistema contabilità per gestione rimborsi
- Notifica inviata al cliente
Integrazioni Esterne
Use Case: Contatta Booking Engine
- Attori: Sistema ORMS (interno)
- Descrizione: Comunicazione con booking engine esterni per operazioni su prenotazioni
- Flusso principale:
- ORMS prepara richiesta per Booking Engine
- Invio richiesta via API/XML
- Ricezione risposta dal Booking Engine
- Processamento risposta e aggiornamento stato
Use Case: Persisti Booking
- Attori: Sistema ORMS (interno)
- Descrizione: Salvataggio persistente della prenotazione nel database
- Flusso principale:
- ORMS riceve dati prenotazione
- Validazione dati prenotazione
- Salvataggio nel database locale
- Aggiornamento disponibilità
- Trigger per contatto sistema contabilità
Use Case: Contatta sistema contabilità
- Attori: Sistema ORMS (interno)
- Descrizione: Comunicazione con sistema contabilità esterno per gestione fatturazione
- Flusso principale:
- ORMS prepara dati fatturazione
- Invio dati al sistema contabilità esterno
- Ricezione conferma o errore
- Aggiornamento stato fatturazione nel sistema
Sistema Opzionale: Zendesk
Il sistema Zendesk è un componente opzionale che estende le funzionalità ORMS per il customer service.
Use Case: Vedi booking (Zendesk)
- Attori: CRM
- Descrizione: Visualizzazione prenotazioni tramite sistema Zendesk per supporto clienti
- Precondizioni: Sistema Zendesk configurato e attivo
- Flusso principale:
- CRM accede a Zendesk
- Zendesk recupera informazioni prenotazioni da ORMS
- Dettagli prenotazioni mostrati nel CRM
- CRM può utilizzare informazioni per supporto clienti
Relazioni tra Use Case
Include
Alcuni use case includono altri use case come parte del loro flusso:
- Place Booking include Contatta Booking Engine (per inviare prenotazione)
- Place Booking include Persisti Booking (per salvare prenotazione)
- Persisti Booking include Contatta sistema contabilità (per gestione fatturazione)
- Vedi tutti i Booking può includere Contatta Booking Engine (per informazioni aggiornate)
- Annulla un booking include Contatta Booking Engine (per cancellazione esterna)
Extend
Alcuni use case estendono altri use case in condizioni specifiche:
- Contatta sistema contabilità estende Persisti Booking (quando prenotazione deve essere fatturata)
- Vedi booking (Zendesk) estende Vedi booking (quando accesso tramite Zendesk)
Flussi di Lavoro Tipici
Workflow: Creazione Nuova Prenotazione
- Back 4 Front invia richiesta prenotazione a ORMS
- ORMS processa richiesta e Contatta Booking Engine esterno
- Booking Engine conferma disponibilità e prenotazione
- ORMS Persisti Booking nel database locale
- ORMS Contatta sistema contabilità per gestione fatturazione
- Sistema Contabilità genera fattura
- ORMS conferma prenotazione a Back 4 Front
- Back 4 Front mostra conferma all'utente
Workflow: Visualizzazione Prenotazioni
- Bauking Admin richiede visualizzazione prenotazioni
- ORMS recupera prenotazioni dal database
- ORMS può Contattare Booking Engine per informazioni aggiornate
- ORMS mostra lista prenotazioni a Bauking Admin
- Bauking Admin può accedere a Vedi booking per dettagli specifici
Workflow: Cancellazione Prenotazione
- Bauking Admin seleziona prenotazione da cancellare
- ORMS Contatta Booking Engine per cancellazione esterna
- Booking Engine conferma cancellazione
- ORMS aggiorna stato prenotazione nel database
- ORMS Contatta sistema contabilità per gestione rimborsi
- Sistema Contabilità genera nota di credito se necessario
- ORMS notifica cliente della cancellazione
Workflow: Supporto Clienti tramite Zendesk
- CRM accede a sistema Zendesk
- Zendesk recupera informazioni prenotazioni da ORMS
- CRM visualizza prenotazioni tramite Vedi booking (Zendesk)
- CRM utilizza informazioni per supporto clienti
- CRM può richiedere modifiche tramite Bauking Admin
Note Tecniche
Comunicazione con Booking Engine
- Protocollo: API REST o XML
- Autenticazione: Token-based authentication
- Formato Dati: JSON o XML
- Gestione Errori: Retry automatico e logging completo
- Throttling: Rate limiting per evitare sovraccarico
Comunicazione con Sistema Contabilità
- Protocollo: API REST
- Autenticazione: Token-based authentication
- Formato Dati: JSON
- Sincronizzazione: Asincrona per non bloccare il processo
- Gestione Errori: Retry logic e notifiche
Integrazione Zendesk (Opzionale)
- Configurazione: Sistema opzionale, può essere abilitato/disabilitato
- Comunicazione: API Zendesk per recupero dati
- Accesso: Solo per sistemi CRM autorizzati
- Sicurezza: Autenticazione e autorizzazione per accesso sicuro