- Overplace Developers - http://developers.overplace.com -

Prenotazioni Hotel

Il webservice per le prenotazioni alberghiere consente ai client di interrogare la disponibilità della struttura passando come parametri il numero di persone e le date di arrivo e partenza. Attraverso i vari step percorribili si potrà scegliere, tra la lista delle camere disponibili, il trattamento desiderato. Al termine del processo il server fornirà i parametri necessari per la generazione di un form di pagamento o pre-autorizzazione su Paypal. La procedura prevede l’utilizzo dei metodi del webservice in ordine prestabilito. Ciascun webservice fornisce infatti uno o più token indispensabili per procedere con lo step successivo. Andiamo ad analizzare uno ad uno i diversi step del processo di prenotazione tramite webservice.

Url webservice

http://www.overplace.com/wsdl/prenotazioni_hotel [1]

Metodo 1

checkHotel

Ritorna la lista delle informazioni di base della struttura ricettiva

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json

 

Metodo 2

checkDisponibilita

Ritorna la lista delle camere disponibili sulla base dei parametri passati, per ciascuna camera specifica i trattamenti disponibili e i relativi prezzi e le condizioni di prenotazione.

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json

 

Metodo 3

userRegistrationHotel

Se non si dispone di uno user_token per proseguire è necessario registrare un nuovo utente in Overplace, fornendo tutte le informazioni necessarie al funzionamento dello script di prenotazione alberghiera. Il metodo ritorna lo user token della nuova utenza.

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json

 

Metodo 4

riepilogoPrenotazione

Ritorna i dati riepilogativi della prenotazione in base ai parametri inseriti negli step precedenti. Se il profilo utente associato allo user token è completo, il servizio torna il riepilogo della prenotazione all’interno del tag “info_prenotazione”, altrimenti ritorna i campi del profilo utente presenti e quelli mancanti suddividendoli negli indici (“campi_profilo_miss” e “campi_profilo”). Tra le informazioni presenti all’interno del riepilogo sono presenti anche l’id della modalità di pagamento, l’eventuale flag indicante la richiesta di carta di credito a garanzia e la policy applicata dall’albergatore.

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json

 

Metodo 5

completaProfiloHotel

Se il metodo precedente non dovesse ritornare il riepilogo prenotazione, ma l’elenco delle informazioni mancanti relative all’utenza, è necessario utilizzare questo servizio per aggiornare il profilo utente completandolo con le informazioni mancanti. Al termine del processo di aggiornamento, Overplace tornerà un messaggio di status; se il messaggio è positivo (“profilo_ok”), si può richiamare il serivizio “riepilogoPrenotazione” che tornerà il riepilogo completo in base ai parametri impostati in precedenza.

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json

Metodo 6

inserisciPrenotazione

Metodo che inserisce una prenotazione nel sistema Overplace, tutti i dati relativi al booking sono contenuti nel ws_token. La risposta contiene sempre l’id della prenotazione inserita, il resto varia in base alla tipologia di pagamento richiesta dall’albergatore e alla policy configurata per la singola camera. Se l’albergatore richiede un autorizzazione di pagamento o un pagamento diretto, nella response è presente un tag “paypal_values” contenendo la lista delle variabili da postare a paypal per configurare il pagamento. Tali variabili possono essere ciclate per generare un form funzionale. Nel caso in cui sia richiesto il pagamento totale in loco, senza carta di credito a garanzia, il servizio tornerà il tag “esito” con il valore “prenotazione_confermata” (in tal caso il processo di prenotazione è completo).

In seguito al submit del form paypal e in base all’esito del pagamento, il client si dovrà occupare di gestire la comunicazione con payapl, le request ipn ed eventuali transazioni fallite o tentativi di frode. Tutta la procedura è totale responsabilità del client. Per la gestione del flusso di comunicazioni con paypal consultare il sito di riferimento https://developer.paypal.com [4]

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json

 Script php di esempio per generare form di pagamento paypal

 

Metodo 7

checkIpnResponse

In seguito alla conferma di pagamento ricevuta dal circuito paypal, per rendere effettiva la prenotazione sul circuito Overplace, sarà necessario comunicare l’id transazione paypal (parametro txn_id) e l’item_number, equivalente all’id_prenotazione ottenuto come primo parametro del metodo precedente. La validità del parametro txn_id, come sopra specificato, dovrà essere verificata dal client al momento della ricezione della instant payment notification di paypal https://developer.paypal.com/‎ [4]

Parametri

Esempio Request lato Client

 Esempio Response lato Client

Response in formato Json