Skip to main content

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:

  1. 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
  2. Selezione: L'utente seleziona una struttura

    • Caricamento dati struttura (cached)
    • Visualizzazione dettagli, immagini, servizi
    • Verifica disponibilità finale per le date selezionate
  3. 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
  4. 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
  5. 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
  6. 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:

  1. Utente cerca alloggi con date e filtri
  2. Sistema interroga Availability Engine per verificare disponibilità
  3. Sistema interroga Rate Engine per ottenere tariffe
  4. Price Engine calcola prezzi finali
  5. Risultati mostrati all'utente con disponibilità e prezzi aggiornati

Durante la Prenotazione:

  1. Utente conferma prenotazione e completa pagamento
  2. Sistema crea ordine nel database locale
  3. Sistema invia prenotazione al Booking Engine esterno
  4. Booking Engine esterno conferma o rifiuta prenotazione
  5. Sistema aggiorna stato ordine in base alla risposta
  6. 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:
    1. Accesso alla sezione Prenotazioni
    2. Applicazione filtri (data, stato, cliente)
    3. Visualizzazione lista prenotazioni
    4. Accesso dettaglio prenotazione
    5. Visualizzazione informazioni complete

Gestire Stato Prenotazione

  • Attori: Admin, Booking Manager
  • Descrizione: Modifica stato prenotazione (pending, paid, cancelled, etc.)
  • Flusso principale:
    1. Accesso a dettaglio prenotazione
    2. Selezione nuovo stato
    3. Conferma modifica
    4. Aggiornamento stato nel sistema
    5. Notifica cliente se necessario

Export Prenotazioni

  • Attori: Admin, Booking Manager
  • Descrizione: Export dati prenotazioni in formati standard (CSV, Excel)
  • Flusso principale:
    1. Accesso alla sezione Prenotazioni
    2. Applicazione filtri per selezione
    3. Selezione formato export
    4. Generazione file export
    5. 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:

Use Case Diagram 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:
    1. Back 4 Front invia richiesta di prenotazione a ORMS
    2. ORMS processa la richiesta
    3. ORMS contatta il Booking Engine esterno
    4. ORMS persiste la prenotazione nel database
    5. ORMS contatta il sistema contabilità
    6. 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:
    1. Bauking Admin accede alla sezione prenotazioni
    2. ORMS recupera tutte le prenotazioni dal database
    3. ORMS può contattare Booking Engine per informazioni aggiornate
    4. 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:
    1. Attore richiede visualizzazione prenotazione specifica
    2. ORMS recupera dati prenotazione dal database
    3. ORMS può contattare Booking Engine per informazioni aggiornate
    4. 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:
    1. Bauking Admin seleziona prenotazione da cancellare
    2. ORMS contatta Booking Engine per cancellazione
    3. ORMS aggiorna stato prenotazione nel database
    4. ORMS contatta sistema contabilità per gestione rimborsi
    5. 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:
    1. ORMS prepara richiesta per Booking Engine
    2. Invio richiesta via API/XML
    3. Ricezione risposta dal Booking Engine
    4. Processamento risposta e aggiornamento stato

Use Case: Persisti Booking

  • Attori: Sistema ORMS (interno)
  • Descrizione: Salvataggio persistente della prenotazione nel database
  • Flusso principale:
    1. ORMS riceve dati prenotazione
    2. Validazione dati prenotazione
    3. Salvataggio nel database locale
    4. Aggiornamento disponibilità
    5. 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:
    1. ORMS prepara dati fatturazione
    2. Invio dati al sistema contabilità esterno
    3. Ricezione conferma o errore
    4. 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:
    1. CRM accede a Zendesk
    2. Zendesk recupera informazioni prenotazioni da ORMS
    3. Dettagli prenotazioni mostrati nel CRM
    4. 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

  1. Back 4 Front invia richiesta prenotazione a ORMS
  2. ORMS processa richiesta e Contatta Booking Engine esterno
  3. Booking Engine conferma disponibilità e prenotazione
  4. ORMS Persisti Booking nel database locale
  5. ORMS Contatta sistema contabilità per gestione fatturazione
  6. Sistema Contabilità genera fattura
  7. ORMS conferma prenotazione a Back 4 Front
  8. Back 4 Front mostra conferma all'utente

Workflow: Visualizzazione Prenotazioni

  1. Bauking Admin richiede visualizzazione prenotazioni
  2. ORMS recupera prenotazioni dal database
  3. ORMS può Contattare Booking Engine per informazioni aggiornate
  4. ORMS mostra lista prenotazioni a Bauking Admin
  5. Bauking Admin può accedere a Vedi booking per dettagli specifici

Workflow: Cancellazione Prenotazione

  1. Bauking Admin seleziona prenotazione da cancellare
  2. ORMS Contatta Booking Engine per cancellazione esterna
  3. Booking Engine conferma cancellazione
  4. ORMS aggiorna stato prenotazione nel database
  5. ORMS Contatta sistema contabilità per gestione rimborsi
  6. Sistema Contabilità genera nota di credito se necessario
  7. ORMS notifica cliente della cancellazione

Workflow: Supporto Clienti tramite Zendesk

  1. CRM accede a sistema Zendesk
  2. Zendesk recupera informazioni prenotazioni da ORMS
  3. CRM visualizza prenotazioni tramite Vedi booking (Zendesk)
  4. CRM utilizza informazioni per supporto clienti
  5. 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