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
Metodo 1
checkHotel
Ritorna la lista delle informazioni di base della struttura ricettiva
Parametri
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns9040:checkHotel xmlns:ns9040="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">Feq5UjOicBiwvIBq2iYYQvwqTeIjp1eoN3QNO2s0gPc=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <response_type xsi:type="xsd:string">json</response_type> </ns9040:checkHotel> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 4 5 6 7 8 9 10 11 12 |
<response> <hotel> <id>1</id> <titolo>My Hotel</titolo> <stelle>3</stelle> <tipo>Hotel</tipo> <pagamento>Pagamento il loco</pagamento> <servizi>[{"id":"9","servizio":"Animali ammessi","tipologia":"standard"}]</servizi> <checkin_checkout>14:00 10:00</checkin_checkout> </hotel> <ws_token>eNp1U01P4zAQ/SuRL1x2pTRl+XBPKyTEid37CllDbGCE44lsh0Or/vd9SZxSoJzimfc889548kdfaZWyvfGUktJNrXdJN+daWcpkOPCWxfTRBcmEY3Bqc78BoymMJw7uBH6tVYiG7OAzz5kLrajNYBwTWupcLFdWKOk5oeaH7C+t2JoXyc7PABUFl18AkyPljGPIcmgKbdttCVfwmuXVhRP1Rgxxz3AjT+zFdIyJbEhjJPtZ3pBR2s2XDzYiux7056UHUpl7QYbJ9PT8SQ/3wbB957ZiuT01wmZ1ZPAEfPUN/MHV+rsin5VhzMUWYSN2k9TMGTYU0PNaq1t6ZKluh8gUuPpZ3UhIgx8HUtkzDkHeFnkwtsbzDpAhJqGon5NarcfvuHBD7yJLLOlalZd+H1wRMwm7W87NV8qxD9TAUvxdEhX7yks7AcgnF9+wzWN0gf3+t8NglFbX6scCCcLfgTvyXFHXuZQY4KGhGn8UCpaiVfuHqR3qSCQ4Me2La185FMUA6oOpY4YMeaHUE2W//w/PIi9g</ws_token> </response> |
Response in formato Json
1 |
{"hotel":{"id":"1","titolo":"Fabio Furiani - Consulente d'innovazione","stelle":"3","tipo":"Hotel","pagamento":"Pagamento il loco","servizi":"[{'id':'9','servizio':'Animali ammessi','tipologia':'standard'}]","checkin_checkout":"14:00 10:00"},"ws_token":"eNp1U01P4zAQ\/SuRL1x2pTRl+XBPKyTEid37CllDbGCE44lsh0Or\/vd9SZxSoJzimfc889548kdfaZWyvfGUktJNrXdJN+daWcpkOPCWxfTRBcmEY3Bqc78BoymMJw7uBH6tVYiG7OAzz5kLrajNYBwTWupcLFdWKOk5oeaH7C+t2JoXyc7PABUFl18AkyPljGPIcmgKbdttCVfwmuXVhRP1Rgxxz3AjT+zFdIyJbEhjJPtZ3pBR2s2XDzYiux7056UHUpl7QYbJ9PT8SQ\/3wbB957ZiuT01wmZ1ZPAEfPUN\/MHV+rsin5VhzMUWYSN2k9TMGTYU0PNaq1t6ZKluh8gUuPpZ3UhIgx8HUtkzDkHeFnkwtsbzDpAhJqGon5NarcfvuHBD7yJLLOlalZd+H1wRMwm7W87NV8qxD9TAUvxdEhX7yks7AcgnF9+wzWN0gf3+t8NglFbX6scCCcLfgTvyXFHXuZQY4KGhGn8UCpaiVfuHqR3qSCQ4Me2La185FMUA6oOpY4YMeaHUE2W\/\/w\/PIi9g"} |
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
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- id_hotel: Id Hotel ottenuto da metodo precedente (int).
- data_inizio_prenotazione : Data di arrivo in formato (YYYY-mm-dd)(string).
- data_fine_prenotazione : Data di partenza in formato (YYYY-mm-dd)(string).
- numero_adulti : Numero di persone per cui si sta prenotando(int).
- ws_token : Token identificativo del processo di prenotazione, parametro ritornato dal metodo precedente(string).
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns4229:checkDisponibilita xmlns:ns4229="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">XSMhgZGvBk7zeZ84WFPlBK+gYtJNl5c1Cb/RjUqnY14=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <id_hotel xsi:type="xsd:int">1</id_hotel> <data_inizio_prenotazione xsi:type="xsd:string">2014-04-10</data_inizio_prenotazione> <data_fine_prenotazione xsi:type="xsd:string">2014-04-12</data_fine_prenotazione> <numero_adulti xsi:type="xsd:int">2</numero_adulti> <ws_token xsi:type="xsd:string">eNp1U01P4zAQ/SuRL1x2pTRl+XBPKyTEid37CllDbGCE44lsh0Or/vd9SZxSoJzimfc889548kdfaZWyvfGUktJNrXdJN+daWcpkOPCWxfTRBcmEY3Bqc78BoymMJw7uBH6tVYiG7OAzz5kLrajNYBwTWupcLFdWKOk5oeaH7C+t2JoXyc7PABUFl18AkyPljGPIcmgKbdttCVfwmuXVhRP1Rgxxz3AjT+zFdIyJbEhjJPtZ3pBR2s2XDzYiux7056UHUpl7QYbJ9PT8SQ/3wbB957ZiuT01wmZ1ZPAEfPUN/MHV+rsin5VhzMUWYSN2k9TMGTYU0PNaq1t6ZKluh8gUuPpZ3UhIgx8HUtkzDkHeFnkwtsbzDpAhJqGon5NarcfvuHBD7yJLLOlalZd+H1wRMwm7W87NV8qxD9TAUvxdEhX7yks7AcgnF9+wzWN0gf3+t8NglFbX6scCCcLfgTvyXFHXuZQY4KGhGn8UCpaiVfuHqR3qSCQ4Me2La185FMUA6oOpY4YMeaHUE2W//w/PIi9g</ws_token> <response_type xsi:type="xsd:string">json</response_type> </ns4229:checkDisponibilita> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<response> <room> <id>1</id> <data_inizio>2014-02-03 11:29:22</data_inizio> <token>23R1U0aifQrIoYojnmURvTh85exov2EQUaLGFMkSVMY=</token> <title>Camera doppia</title> <descrizione>camera doppia</descrizione> <numero_adulti>2</numero_adulti> <numero_notti>2</numero_notti> <servizi>["Con vista"]</servizi> <gallery> <picture>http://www.overplace.com/files/5191/5191_20121114181039.jpg</picture> </gallery> <trattamenti> <id_trattamento>2</id_trattamento> <titolo_trattamento>Prima colazione</titolo_trattamento> <prezzo>100</prezzo> <totale_camera>100</totale_camera> <letto_aggiuntivo_giornaliero>0.00</letto_aggiuntivo_giornaliero> <letto_aggiuntivo_totale>0</letto_aggiuntivo_totale> <culla_giornaliero>0.00</culla_giornaliero> </trattamenti> <trattamenti> <id_trattamento>3</id_trattamento> <titolo_trattamento>Mezza pensione</titolo_trattamento> <prezzo>120</prezzo> <totale_camera>120</totale_camera> <letto_aggiuntivo_giornaliero>0.00</letto_aggiuntivo_giornaliero> <letto_aggiuntivo_totale>0</letto_aggiuntivo_totale> <culla_giornaliero>0.00</culla_giornaliero> </trattamenti> <trattamenti> <id_trattamento>4</id_trattamento> <titolo_trattamento>Pensione Completa</titolo_trattamento> <prezzo>200</prezzo> <totale_camera>200</totale_camera> <letto_aggiuntivo_giornaliero>0.00</letto_aggiuntivo_giornaliero> <letto_aggiuntivo_totale>0</letto_aggiuntivo_totale> <culla_giornaliero>0.00</culla_giornaliero> </trattamenti> <condizioni> <garanzia_carta>1</garanzia_carta> <cancellazione_gratuita>0</cancellazione_gratuita> <percentuale_cancellazione>50</percentuale_cancellazione> <descrizione_cancellazione_gratuita>50</descrizione_cancellazione_gratuita> </condizioni> </room> <ws_token>eNrFVlFr2zAQ/itGL3tZiyW7a6KyhxHWbbB2a7cOyhhGtRX3WkUyshxGS/77TpKdOE066FMhYFv33em+706nfOMTTlpXzZRoW8JZyh9bznJOKuFEARoewBSNldo4ga9akpOW05QTltL8IM0PaOpXGOs95qDl//HMr0w50bYQVaccBAQC/PMdJ6J06BcWEVXeyvK+qKBtjIYbUODExr8UC2ll70/DE/NQ0GIig02g7RE49S80kOMEqrEP7unAGWXCYsbJzLuKpDJNA2E3dCSVbEsLG0qIK3dwuKg7XDR7qB2jztIuMcQ6qTQymRmdLH3S5GTVctR+bpzZAjEMfESntEAVGaU0pxOaZtPDu6YOPiHBTcEG8aLm7CDNEkSwKZbJm46QsLmXQeMct2PZJb1KBcwv7Bdzbe704upy+fN2ciT/miX7eHElvn46Pbv/8evs+v0gck8Ty+xZVpz1MjkrnENdtAs0s8ggvGxLz3alx7y+W1iIpDRq0zyIwX56eAiK5D6Ml9lhfykZqyx8AjQNQmE3K+kcFqCuocMslqaowVgtFGDCgTIn6WEa2zbbA4+hyUmUnmLdyk4p8WyY1Sq21w7FbJciOp0hF5E0UrcvZchekyHbxzDfZYjBvvfckplZNLi5eAFJ9oplXMVJVRpdhYMO61T9eKuFFfoB/GSxfr5YWYEz40HiUaXQpVR9+xY1noauH1mIislimzfSlnhEush95BEAeNYDMsu3xk7xfGwUt2oF/gYaR75Ixa1xUq3FPfexj3cMxebImggalcp/0kk/L/bE8zb8bgBnvpmDMsUC8B5B3fAiWcVR0TkMLaNz9MLRZEE2CK+HPaa+iRpsohoVbkQ95LM1pqHRhe+9waM0FZRPr5tAk45o7jFPnjFvccueCzLO7zzO056cwNv08cmJyLGlTsUNmOS0syA0JAd4MHTbKS9LUr0Brc1SbN0s/XRtMaiS42niL+sOuwd7eNxTvt4b+fpkQmKfh3e2C3misz+5w0ICKlGmNE8vLuSGTfn70Y8ATqbk7WAy+PlB4/BWkIjFQrYtoHG9IfF/MoSuhK3I6s8wCo0VyKQIdzzoPmM0pGtSY4Tp3ABJeTyx/wDJBdea</ws_token> </response> |
Response in formato Json
1 |
{"room":{"id":"1","data_inizio":"2014-02-03 11:29:22","token":"23R1U0aifQrIoYojnmURvTh85exov2EQUaLGFMkSVMY=","title":"Camera doppia","descrizione":"camera doppia","numero_adulti":"2","numero_notti":"2","servizi":"['Con vista']","gallery":{"picture":"http:\/\/www.overplace.com\/files\/5191\/5191_20121114181039.jpg"},"trattamenti":[{"id_trattamento":"2","titolo_trattamento":"Prima colazione","prezzo":"100","totale_camera":"100","letto_aggiuntivo_giornaliero":"0.00","letto_aggiuntivo_totale":"0","culla_giornaliero":"0.00"},{"id_trattamento":"3","titolo_trattamento":"Mezza pensione","prezzo":"120","totale_camera":"120","letto_aggiuntivo_giornaliero":"0.00","letto_aggiuntivo_totale":"0","culla_giornaliero":"0.00"},{"id_trattamento":"4","titolo_trattamento":"Pensione Completa","prezzo":"200","totale_camera":"200","letto_aggiuntivo_giornaliero":"0.00","letto_aggiuntivo_totale":"0","culla_giornaliero":"0.00"}],"condizioni":{"garanzia_carta":"1","cancellazione_gratuita":"0","percentuale_cancellazione":"50","descrizione_cancellazione_gratuita":"50"}},"ws_token":"eNrFVlFr2zAQ\/itGL3tZiyW7a6KyhxHWbbB2a7cOyhhGtRX3WkUyshxGS\/77TpKdOE066FMhYFv33em+706nfOMTTlpXzZRoW8JZyh9bznJOKuFEARoewBSNldo4ga9akpOW05QTltL8IM0PaOpXGOs95qDl\/\/HMr0w50bYQVaccBAQC\/PMdJ6J06BcWEVXeyvK+qKBtjIYbUODExr8UC2ll70\/DE\/NQ0GIig02g7RE49S80kOMEqrEP7unAGWXCYsbJzLuKpDJNA2E3dCSVbEsLG0qIK3dwuKg7XDR7qB2jztIuMcQ6qTQymRmdLH3S5GTVctR+bpzZAjEMfESntEAVGaU0pxOaZtPDu6YOPiHBTcEG8aLm7CDNEkSwKZbJm46QsLmXQeMct2PZJb1KBcwv7Bdzbe704upy+fN2ciT\/miX7eHElvn46Pbv\/8evs+v0gck8Ty+xZVpz1MjkrnENdtAs0s8ggvGxLz3alx7y+W1iIpDRq0zyIwX56eAiK5D6Ml9lhfykZqyx8AjQNQmE3K+kcFqCuocMslqaowVgtFGDCgTIn6WEa2zbbA4+hyUmUnmLdyk4p8WyY1Sq21w7FbJciOp0hF5E0UrcvZchekyHbxzDfZYjBvvfckplZNLi5eAFJ9oplXMVJVRpdhYMO61T9eKuFFfoB\/GSxfr5YWYEz40HiUaXQpVR9+xY1noauH1mIislimzfSlnhEush95BEAeNYDMsu3xk7xfGwUt2oF\/gYaR75Ixa1xUq3FPfexj3cMxebImggalcp\/0kk\/L\/bE8zb8bgBnvpmDMsUC8B5B3fAiWcVR0TkMLaNz9MLRZEE2CK+HPaa+iRpsohoVbkQ95LM1pqHRhe+9waM0FZRPr5tAk45o7jFPnjFvccueCzLO7zzO056cwNv08cmJyLGlTsUNmOS0syA0JAd4MHTbKS9LUr0Brc1SbN0s\/XRtMaiS42niL+sOuwd7eNxTvt4b+fpkQmKfh3e2C3misz+5w0ICKlGmNE8vLuSGTfn70Y8ATqbk7WAy+PlB4\/BWkIjFQrYtoHG9IfF\/MoSuhK3I6s8wCo0VyKQIdzzoPmM0pGtSY4Tp3ABJeTyx\/wDJBdea"} |
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
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- nickname: Nickname del nuovo utente(string).
- email : Indirizzo email del nuovo utente(string).
- password : Password del nuovo utente, lunghezza minima 6 caratteri(string).
- cellular_phone : Numero di telefono cellulare completo di prefisso internazionale completo (es.003933312312345)(numeric).
- nome : Nome del nuovo utente(string).
- cognome : Cognome del nuovo utente(string).
- citta : Città del nuovo utente(string).
- indirizzo : Indirizzo del nuovo utente(string).
- cap : Zip code / Cap del nuovo utente(numeric).
- nazione : Nazione del nuovo utente(string).
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns9904:userRegistrationHotel xmlns:ns9904="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">Ptodpe9/hmTnj1MscIJlcxZ7/LXM+M7COczkH6V+49M=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <nickname xsi:type="xsd:string">mynickname</nickname> <email xsi:type="xsd:string">myemail@email.com</email> <password xsi:type="xsd:string">mypassword</password> <cellular_phone xsi:type="xsd:string">003933365656562</cellular_phone> <nome xsi:type="xsd:string">Name</nome> <cognome xsi:type="xsd:string">Surname</cognome> <citta xsi:type="xsd:string">Roma</citta> <indirizzo xsi:type="xsd:string">Via Roma 2</indirizzo> <cap xsi:type="xsd:string">01010</cap> <nazione xsi:type="xsd:string">Italia</nazione> <response_type xsi:type="xsd:string">json</response_type> </ns9904:userRegistrationHotel> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 |
<response> <user_token>oo1M/XA4bDndQe6eXDIpr9oetpZyllurXljaFA8tH7cpWGV6gHEYvrJ8ObEPqJEdQ3szID/ltA1AhQNWeWcqZAG8RHDNQKmdcqMagvZg1yIrNwFC4gQP9M2AvBNoEtVSYxCd9kyhCZqYBTnKXPu1MuAr6oTINNHPQoyS8zBBNE8=</user_token> </response> |
Response in formato Json
1 |
{"user_token":"pqEDuKHgKSOpZfyc2kfXRAXxwu+dZD1wY5w8A1fsFKSdNVvPZArd2doE8WnYLIJav0ltqQ1lhDr3RhGVhrV52jp3lVBnlOVBybpRd722R+5rA6jPZ9ukfE6NcJJKxg+QoeLJW7Xy38XvpxeNiDS+JMycJ+QCfXPbnJwHilfMNKA="} |
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
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- id_hotel: Id Hotel ottenuto dai servizi precedenti(int).
- id_hotel_camera : Id hotel camera, associato alla camera presente nella lista ritoranta dal servizio checkDisponibilita(int).
- id_hotel_trattamento : Id del trattamento selezionato, associato alla camera scelta(string).
- data_inizio_hotel_camera : Valore del campo data_inizio corrispondente alla camera scelta(string).
- token_hotel_camera : Valore del campo token corrispondente alla camera scelta(string).
- prezzo : Valore del campo prezzo corrispondente alla camera scelta(numeric / double string).
- ws_token : Token identificativo del processo di prenotazione, parametro ritornato dal metodo precedente(string).
- user_token : Token identificativo di un utente Overplace, si ottiene attraverso i metodi per il login di un utente esterno
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns9004:riepilogoPrenotazione xmlns:ns9004="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">L8u6cDUQ/wud9wMXuF65D8rgpfeioEKzftdYSYgSYxE=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <id_hotel xsi:type="xsd:int">1</id_hotel> <id_hotel_camera xsi:type="xsd:string">1</id_hotel_camera> <id_hotel_trattamento xsi:type="xsd:string">2</id_hotel_trattamento> <data_inizio_hotel_camera xsi:type="xsd:string">2014-02-03 11:29:22</data_inizio_hotel_camera> <token_hotel_camera xsi:type="xsd:string">23R1U0aifQrIoYojnmURvTh85exov2EQUaLGFMkSVMY=</token_hotel_camera> <prezzo xsi:type="xsd:string">100</prezzo> <ws_token xsi:type="xsd:string">eNrFVlFr2zAQ/itGL3tZiyW7a6KyhxHWbbB2a7cOyhhGtRX3WkUyshxGS/77TpKdOE066FMhYFv33em+706nfOMTTlpXzZRoW8JZyh9bznJOKuFEARoewBSNldo4ga9akpOW05QTltL8IM0PaOpXGOs95qDl//HMr0w50bYQVaccBAQC/PMdJ6J06BcWEVXeyvK+qKBtjIYbUODExr8UC2ll70/DE/NQ0GIig02g7RE49S80kOMEqrEP7unAGWXCYsbJzLuKpDJNA2E3dCSVbEsLG0qIK3dwuKg7XDR7qB2jztIuMcQ6qTQymRmdLH3S5GTVctR+bpzZAjEMfESntEAVGaU0pxOaZtPDu6YOPiHBTcEG8aLm7CDNEkSwKZbJm46QsLmXQeMct2PZJb1KBcwv7Bdzbe704upy+fN2ciT/miX7eHElvn46Pbv/8evs+v0gck8Ty+xZVpz1MjkrnENdtAs0s8ggvGxLz3alx7y+W1iIpDRq0zyIwX56eAiK5D6Ml9lhfykZqyx8AjQNQmE3K+kcFqCuocMslqaowVgtFGDCgTIn6WEa2zbbA4+hyUmUnmLdyk4p8WyY1Sq21w7FbJciOp0hF5E0UrcvZchekyHbxzDfZYjBvvfckplZNLi5eAFJ9oplXMVJVRpdhYMO61T9eKuFFfoB/GSxfr5YWYEz40HiUaXQpVR9+xY1noauH1mIislimzfSlnhEush95BEAeNYDMsu3xk7xfGwUt2oF/gYaR75Ixa1xUq3FPfexj3cMxebImggalcp/0kk/L/bE8zb8bgBnvpmDMsUC8B5B3fAiWcVR0TkMLaNz9MLRZEE2CK+HPaa+iRpsohoVbkQ95LM1pqHRhe+9waM0FZRPr5tAk45o7jFPnjFvccueCzLO7zzO056cwNv08cmJyLGlTsUNmOS0syA0JAd4MHTbKS9LUr0Brc1SbN0s/XRtMaiS42niL+sOuwd7eNxTvt4b+fpkQmKfh3e2C3misz+5w0ICKlGmNE8vLuSGTfn70Y8ATqbk7WAy+PlB4/BWkIjFQrYtoHG9IfF/MoSuhK3I6s8wCo0VyKQIdzzoPmM0pGtSY4Tp3ABJeTyx/wDJBdea</ws_token> <user_token xsi:type="xsd:string">Xc+MKbaJQJ6mSMd/tzo/yZwUkUAPkzgrctmjFlExPGkCbymNvqTxlBPezVvQvsm+158V47oIYuw8CvuEveQAxq7nM8vC3dT6RjZeUGHIYTdiVdwM9NChtA0DFxE5xw/qg/fv/IxE9yguuENlKUFEKjeJDZ6F5PGcelb54fTJAqnabkDT+v6PX76IXUmLpkoSPQ+Yib5Ul1BRdho0YSStbw==</user_token> <response_type xsi:type="xsd:string">xml</response_type> </ns9004:riepilogoPrenotazione> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<response> <info_prenotazione> <data_inizio_prenotazione>2014-04-10</data_inizio_prenotazione> <data_fine_prenotazione>2014-04-12</data_fine_prenotazione> <numero_adulti>2</numero_adulti> <numero_camere>1</numero_camere> </info_prenotazione> <info_hotel> <titolo>My Hotel</titolo> <indirizzo>Via Pietro Soriano 4/T</indirizzo> <comune>Perugia</comune> <cap>06132</cap> <sigla_provincia>PG</sigla_provincia> <telefono_fisso>0755270605</telefono_fisso> <account_paypal>account@paypal.com</account_paypal> </info_hotel> <info_camera> <id_camera>1</id_camera> <titolo_camera>Camera doppia</titolo_camera> <descrizione_camera>camera doppia</descrizione_camera> </info_camera> <info_trattamento> <id_trattamento>2</id_trattamento> <titolo_trattamento>Prima colazione</titolo_trattamento> <prezzo_trattamento>100</prezzo_trattamento> </info_trattamento> <utente> <email>user@overplace.com</email> <id>00000003490</id> <cellulare>0039332123456</cellulare> <id_utente_cellulare>137224</id_utente_cellulare> <nome>Nome</nome> <cognome>Cognome</cognome> <citta>Perugia</citta> <indirizzo>Strada Via Street</indirizzo> <cap>06100</cap> </utente> <tipologia_pagamento>1</tipologia_pagamento> <garanzia_carta>true</garanzia_carta> <cancellazione_gratuita>false</cancellazione_gratuita> <percentuale_cancellazione>50</percentuale_cancellazione> <importo_preautorizzazione>50</importo_preautorizzazione> <descrizione_cancellazione>dsadsa</descrizione_cancellazione> <prezzo_totale>100</prezzo_totale> <ws_token>eNrtWGtr3EYU/StCX/qldqWR1rsrU0gxdRqoUyeOA6EUMZFm5RvPzgg9ltZm/3vPPKTVeu1AWkIgeFlY7cydO/ec+0R/ZIssbLvyTPK2DTMWZfdtxtIsLHnHc1J0RzqvG6F0x/GoRHjaZnGUhSyK06MoPYojs8KYP7EiJT4vz8zKMgtVk/Oylx1ZCQiY35Ms5EWHc1YpTGtI1CR1tW9EfqM7IXeKCr4WjfCKYvsLgyS1sGjY49i7pyw2D7FFmYVUTs/g8o46LbVdTLLwzBzlQanrmrhdhGgp2qKhHTbIFQdyWFQ9FvUjGOcgXDQbqBiNihySM62CjTE6PN22GZyw0p3eE2JQPIuXcQ46WRzHabyIo2R5/Kmu7Blr4M5z9trlQD47ipIAEmwJf5mtGQDrW2HJTnEdS97G1xGn1Zvmlf6gP6n19dvNu5vFTPytN+zXN9f895fnF7dX7y8+/DyQ7GHCNQZlmTFPU9fwrgMvqrMwE4fAPuxTzw6ph12XDa15UGi5iyLIIAbu7iwjqVFjaO4QE1I4L3NjQBxFPnak6Do4oKqohxUbnVekG8UlwWALOQuj48jFb/KIuFMdnjrqY/it6KXkT6rZbl14HUBMDiHi0AWw8KAWqv1ShOxbImSPIUwPEULZpccWnOl1jcv5F4Bk39CNW1eyCq1Km+g0mmrqXMUbru7IVJbG1JdGlNTpaSExUgVXhZA+fPMK2dCTIwBSzliEeS2aAinSO+yTE1YAuW4lk3Sv7ORP6wa5ZcvxHWDMjJNcuRzJnRg6P9jOd4mrH2To4DYYhPOO8Xjha8jBHf+poCxsMa0J1V6vUPfzNaEtgX30pa0rOH0H08YOwI2n7m0pE2tOtick+LNqDEdtoY/XvCluRIuC+EJvQDevwZU8Fr2n2Mew8Yr7JOky8q3FsNxL7luLiRAU2ySZzdL5IomSobyCQm/V3gFQFidzxlIfXkqvhVd8PpjnG0Khq2HXRN7FaLMv0wV1zsE2q5q+cn3G3I0YRVw4vzBceQUHlhwpJyUpNCUhgystRXCy9J4DA15rdBInqdeq9grtK1BErg0tJ03Y8D2zKWsCR60ejgZDlnz1+eGzDXay+XAw8JltTR8jaG5s3iteKWTO+UfSwXnfEFcUHIFQ1fbSeDkofyCl9GZn4IEfAOc98eCSRNdo8G+U6CD96Z3nt9Dr3h3dd+iBe9jQEFuqULOQFhtShRPGJZcvh8gEFrHSSoPBttUDa9F8NmPz6CSaDXK8KDQKY17zf2ouh9WKl3cvJH0EZ8fUjaOE5WlI6ee56Xluep6bnuem735uwlUnvvbtDUPfeRJaI90c8zxXfe25ausQdlQjbnAr+nG1N3QPnZVqlRsqX3tOCl1S8XBEMpssnszyj2wvntgeo89IJU8pmdr32qEc56fF/56fJn2/hVIppg3AvKDqkfAI3GkZMIm2o298IYTV34ZndijygGfj9mEhIBlIPYbOOGsAG4Lsz3sT0Vm4DH8ctjT+/qKQ6pICvl6LtiVsjheG5sUaVyVvynD71xDpuuFAkiMMi1tS3mJsRCOoqYTuu0Ekylya/gvF7k5N</ws_token> </response> |
Response in formato Json
1 |
{"info_prenotazione":{"data_inizio_prenotazione":"2014-04-10","data_fine_prenotazione":"2014-04-12","numero_adulti":"2","numero_camere":"1"},"info_hotel":{"titolo":"Fabio Furiani - Consulente d'innovazione","indirizzo":"Via Pietro Soriano 4\/T","comune":"Perugia","cap":"06132","sigla_provincia":"PG","telefono_fisso":"0755270605","account_paypal":"gadz@libero.it"},"info_camera":{"id_camera":"1","titolo_camera":"Camera doppia","descrizione_camera":"camera doppia"},"info_trattamento":{"id_trattamento":"2","titolo_trattamento":"Prima colazione","prezzo_trattamento":"100"},"utente":{"email":"user@overplace.com","id":"00000003490","cellulare":"00393285778303","id_utente_cellulare":"137224","nome":"Francesco","cognome":"Marchesini","citta":"Perugia","indirizzo":"Strada Street 69","cap":"06134"},"tipologia_pagamento":"1","garanzia_carta":"true","cancellazione_gratuita":"false","percentuale_cancellazione":"50","importo_preautorizzazione":"50","descrizione_cancellazione":"dsadsa","prezzo_totale":"100","ws_token":"eNrtWGtr3EYU\/StCX\/qldqWR1rsrU0gxdRqoUyeOA6EUMZFm5RvPzgg9ltZm\/3vPPKTVeu1AWkIgeFlY7cydO\/ec+0R\/ZIssbLvyTPK2DTMWZfdtxtIsLHnHc1J0RzqvG6F0x\/GoRHjaZnGUhSyK06MoPYojs8KYP7EiJT4vz8zKMgtVk\/Oylx1ZCQiY35Ms5EWHc1YpTGtI1CR1tW9EfqM7IXeKCr4WjfCKYvsLgyS1sGjY49i7pyw2D7FFmYVUTs\/g8o46LbVdTLLwzBzlQanrmrhdhGgp2qKhHTbIFQdyWFQ9FvUjGOcgXDQbqBiNihySM62CjTE6PN22GZyw0p3eE2JQPIuXcQ46WRzHabyIo2R5\/Kmu7Blr4M5z9trlQD47ipIAEmwJf5mtGQDrW2HJTnEdS97G1xGn1Zvmlf6gP6n19dvNu5vFTPytN+zXN9f895fnF7dX7y8+\/DyQ7GHCNQZlmTFPU9fwrgMvqrMwE4fAPuxTzw6ph12XDa15UGi5iyLIIAbu7iwjqVFjaO4QE1I4L3NjQBxFPnak6Do4oKqohxUbnVekG8UlwWALOQuj48jFb\/KIuFMdnjrqY\/it6KXkT6rZbl14HUBMDiHi0AWw8KAWqv1ShOxbImSPIUwPEULZpccWnOl1jcv5F4Bk39CNW1eyCq1Km+g0mmrqXMUbru7IVJbG1JdGlNTpaSExUgVXhZA+fPMK2dCTIwBSzliEeS2aAinSO+yTE1YAuW4lk3Sv7ORP6wa5ZcvxHWDMjJNcuRzJnRg6P9jOd4mrH2To4DYYhPOO8Xjha8jBHf+poCxsMa0J1V6vUPfzNaEtgX30pa0rOH0H08YOwI2n7m0pE2tOtick+LNqDEdtoY\/XvCluRIuC+EJvQDevwZU8Fr2n2Mew8Yr7JOky8q3FsNxL7luLiRAU2ySZzdL5IomSobyCQm\/V3gFQFidzxlIfXkqvhVd8PpjnG0Khq2HXRN7FaLMv0wV1zsE2q5q+cn3G3I0YRVw4vzBceQUHlhwpJyUpNCUhgystRXCy9J4DA15rdBInqdeq9grtK1BErg0tJ03Y8D2zKWsCR60ejgZDlnz1+eGzDXay+XAw8JltTR8jaG5s3iteKWTO+UfSwXnfEFcUHIFQ1fbSeDkofyCl9GZn4IEfAOc98eCSRNdo8G+U6CD96Z3nt9Dr3h3dd+iBe9jQEFuqULOQFhtShRPGJZcvh8gEFrHSSoPBttUDa9F8NmPz6CSaDXK8KDQKY17zf2ouh9WKl3cvJH0EZ8fUjaOE5WlI6ee56Xluep6bnuem735uwlUnvvbtDUPfeRJaI90c8zxXfe25ausQdlQjbnAr+nG1N3QPnZVqlRsqX3tOCl1S8XBEMpssnszyj2wvntgeo89IJU8pmdr32qEc56fF\/56fJn2\/hVIppg3AvKDqkfAI3GkZMIm2o298IYTV34ZndijygGfj9mEhIBlIPYbOOGsAG4Lsz3sT0Vm4DH8ctjT+\/qKQ6pICvl6LtiVsjheG5sUaVyVvynD71xDpuuFAkiMMi1tS3mJsRCOoqYTuu0Ekylya\/gvF7k5N"} |
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
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- id_hotel: Id Hotel ottenuto dai servizi precedenti(int).
- nome : Id hotel camera, associato alla camera presente nella lista ritoranta dal servizio checkDisponibilita(int).
- cognome : Id del trattamento selezionato, associato alla camera scelta(string).
- indirizzo : Valore del campo data_inizio corrispondente alla camera scelta(string).
- cap : Valore del campo token corrispondente alla camera scelta(string).
- citta : Valore del campo prezzo corrispondente alla camera scelta(numeric / double string).
- nazione : Token identificativo del processo di prenotazione, parametro ritornato dal metodo precedente(string).
- cellulare : formato della risposta, i parametri accettati sono “xml” o “json”(string).
- ws_token : Token identificativo del processo di prenotazione, parametro ritornato dal metodo precedente(string).
- user_token : Token identificativo di un utente Overplace, si ottiene attraverso i metodi per il login di un utente esterno
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns7754:updateProfiloHotel xmlns:ns7754="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">NpilK6Kc/FWvzSXvLdydoEvd2zKVlHr3EAzQtdslAuo=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <id_hotel xsi:type="xsd:int">1</id_hotel> <nome xsi:type="xsd:string">User</nome> <cognome xsi:type="xsd:string">Surname</cognome> <indirizzo xsi:type="xsd:string">Strada Street 69</indirizzo> <cap xsi:type="xsd:string">06100</cap> <citta xsi:type="xsd:string">Perugia</citta> <nazione xsi:type="xsd:string">Italia</nazione> <cellulare xsi:type="xsd:string">00393300101011</cellulare> <ws_token xsi:type="xsd:string">eNrFVu9v2zYQ/VcEfdmXJRApObEVFFgRNF2BpWubpUAxDAIr0QobihQoyigS+H/f4w/JdpwM6L7UMGCZvDvee3f3qD/LZZkOtrmUbBjSkmbl41DSokwbZlkllHgQuuoNV9oyPCqeXgwlycqUZqQ4yYoTkrkVSqPHWij+3/bUrazKVJmKNaO0wlvAwP2elSmrLfymoLXueskRuDd6LaSu7rTlcheiZh03PIYg/hdeUgxwmfYY9h5FSdwD8fjKVDT7PjjWCqul9ot5mV46V5Y0uu8F84swbfhQG7FDBbv6yA6LasSifgbdOajmZoMQc1JZQHKpVbJxSacX26EE/Wtt9YERReAFWZEKRFJCSEGWJMtXp9/61vv4BHc188euJtrpSZYnsKArkOq2FgCs77mnucBxNP9EbjMm1h/NO/1Ff1Pd7afNX3fLBf+uN/TNx1v2x9ur6/ubz9dfXk0kR5iotEPZlDTSZA2zFrwo62HmAYF/OKSeHlOPvD4Y0bGk1nLXP7BBSz08eEYKF8bRbNFikocqM5cAyTxRaGh0jEUB2laMyGKjq1Zoo5gUSNhDLtPsNAudmz9jHkKnF4F6grrVo5TsxTDbbWivI4j5MUQ4XQMLS3quhh9FSH8mQvocwuIYIYJ9iNiSyzi/PwCS/sQyboNY1Vo1ftDFnKoTo5YZph6EUxbj9MXwRli9LyRespiquYztW7WYhlEEAmAVkkWb99zUGJExYN/z8AaYdW+ZFweyU70cG+Q2A8N3grFwRQpyOZO7l+j50Xa1G1z9ZEKnsiEh+AfGyTJqyNEZ/0tQll5MezELfSdwIYF9OimgK59ule58RUlQsVrYKJpOkkaL5Pl0RzBXy0dvxjsm/K2R48/aOBaHWp92zNR3fIBk/qY3KAjrwaY85WMsQuxyV7fwyYtVFi8fV4dRsnj5uB6CHOf5YlGcL/MsnwQYJMesDhxAKsnPKS1iAwZYPvDVlF76BPRQojXTA9zzkjsJPYs+CXWiOOAGBW0YRlBKoXBJcZncaMmTs1WsJPDGcNkZyYt4njoQ3ncgRASGcYYRvEdxWpzxPgK0osfgt5iKnrUH3TNdraJXlWNy8qh1I+qnbwluk5K9pnxme/nC9tx7zip/Kch+fu8D7LlRlq5PDlSsALFX7KvQydVoBFMiOQGTahilK2bS/CKU0ht28DYQb8QBQSXfvwHcO9aIiYfu7OuAm9EdffObDVZ/n57psckTnp3aTguJkInUc+fMLxvAhh77+9E1dJmu0l+nLY2/rxUuXCkS1nV8GAQ25wNT927IVMNMk27/mRpdGwYkFSanvhcqZoyNbAa1b6FHO5lkZVDZfwGQWlsr</ws_token> <user_token xsi:type="xsd:string">Xc+MKbaJQJ6mSMd/tzo/yZwUkUAPkzgrctmjFlExPGkCbymNvqTxlBPezVvQvsm+158V47oIYuw8CvuEveQAxq7nM8vC3dT6RjZeUGHIYTdiVdwM9NChtA0DFxE5xw/qg/fv/IxE9yguuENlKUFEKjeJDZ6F5PGcelb54fTJAqnabkDT+v6PX76IXUmLpkoSPQ+Yib5Ul1BRdho0YSStbw==</user_token> <response_type xsi:type="xsd:string">xml</response_type> </ns7754:updateProfiloHotel> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 4 |
<response> <result>profilo_ok</result> <ws_token>eNrFVl1v2zYU/SuCXvayBCKlJLaCAR2CpiuwdGmzDCiGQeAkWmFDkQJFGUUC//cdfsiW7WRA+9I4gCTy3st7zr085B/lokwH21xJNgxpSbPyeShpUaYNs6wSSjwJXfWGK20ZXhVPL4eSZGVKM1KcZMUJydwIpdFjJRT/f3vqRpZlqkzFmlFa4S1g4J7nZcpqC78paK27XnIE7o1eCamrB2253IWoWccNjyGIf8JLigEu0xzD3LMoiXshHl+Zimbug2WtsFpqP5iX6ZVzZUmj+14wPwjThg+1ETtUsKuP7DCoRgzqF9BdgGpu1gixTSoLSK60StYu6fRyM5Sgf6Wt3jOiCHxGlqQCkZQQUpAFyfLl6Ze+9T4+wV3N/LLLiXZ6kuUJLOgSpLqpMwDWj9zTXGA5mn8i9xkTq4/mvf6sv6ju/tP6z4fFGf+q1/Ttx3v2+7vrm8e7v24+/zKRHGGi0g5lU9JIkzXMWvCirIeZBwT+ZZ96ekw98ro1omNJreWuf2CDlnp68owULoyj2aLFJA9VZi4Bknmi0NDoGIsCtK0YkcVaV63QRjEpkLCHXKbZaRY6N3/BPIROLwP1BHWrRynZq2E2m9BeRxDzY4hwugEWlvRcDd+KkP5IhPQlhMUxQgS7jdiSq7h/vwEk/YFl3ASxqrVq/EYX21SdGLXMMPUknLIYpy+GN8LquZB4yWKq5jK2b9ViN4wiEACrkCzavOemxhYZA/aZhzfAXveWebEnO9XrsUFuMzD8TzDOXJGCXG7JnSV6cTRd7TauPtihU9mQEPwD42QRNeRoje8SlIUX015shb4TOJB2+uHLpHTny0mCmNa6nUZoELVa2KihTqFGCyx8OjKYK+2zN+MdE/4QyfGxMo7UodanHTP1Ax+goG/0GvVhPciVp3yMNYlN78oY/vJimcWzyJVllCyeRa6loM55nmXE/cikx+A8ZrXnAI5JfkFpkc6B+td7HBnpAV7/dTeiicPXDrmfueVmbMN55JZEL6N/Qv0IVrpDoRuW4MG5Tc6Xsa6AG2Nl57HGiKX2ZPg9+BCBYEQ2gvcoVYvIHyI+K3rIABavetbu9dJ00IpeVY7IyaPWjagP7wxukpJZi74wvXhletuJzip/Lcg8vw8B9rZPFq5N9jStgChcs3+FTq5HI5gSyQmkTQ2jdLVMmp+EUnrN9u4G8XwcEFTy+Xngblwj9j9UaK4Kbsfu6NveczD62/ROj00OeHbVnwYSIROpa3149QA29NXfz66fy3SZ/jxNaXz+qnD8SpGwruPDIDC5XTB1N0WmGmaadPPP1OfaMCCpsHHqR6FixpjItqDmFnq0k0lWBs39D19HX8c=</ws_token> </response> |
Response in formato Json
1 |
{"result":"profilo_ok","ws_token":"eNrFVl1v2zYU\/SuCXvayBCKlJLaCAR2CpiuwdGmzDCiGQeAkWmFDkQJFGUUC\/\/cdfsiW7WRA+9I4gCTy3st7zr085B\/lokwH21xJNgxpSbPyeShpUaYNs6wSSjwJXfWGK20ZXhVPL4eSZGVKM1KcZMUJydwIpdFjJRT\/f3vqRpZlqkzFmlFa4S1g4J7nZcpqC78paK27XnIE7o1eCamrB2253IWoWccNjyGIf8JLigEu0xzD3LMoiXshHl+Zimbug2WtsFpqP5iX6ZVzZUmj+14wPwjThg+1ETtUsKuP7DCoRgzqF9BdgGpu1gixTSoLSK60StYu6fRyM5Sgf6Wt3jOiCHxGlqQCkZQQUpAFyfLl6Ze+9T4+wV3N\/LLLiXZ6kuUJLOgSpLqpMwDWj9zTXGA5mn8i9xkTq4\/mvf6sv6ju\/tP6z4fFGf+q1\/Ttx3v2+7vrm8e7v24+\/zKRHGGi0g5lU9JIkzXMWvCirIeZBwT+ZZ96ekw98ro1omNJreWuf2CDlnp68owULoyj2aLFJA9VZi4Bknmi0NDoGIsCtK0YkcVaV63QRjEpkLCHXKbZaRY6N3\/BPIROLwP1BHWrRynZq2E2m9BeRxDzY4hwugEWlvRcDd+KkP5IhPQlhMUxQgS7jdiSq7h\/vwEk\/YFl3ASxqrVq\/EYX21SdGLXMMPUknLIYpy+GN8LquZB4yWKq5jK2b9ViN4wiEACrkCzavOemxhYZA\/aZhzfAXveWebEnO9XrsUFuMzD8TzDOXJGCXG7JnSV6cTRd7TauPtihU9mQEPwD42QRNeRoje8SlIUX015shb4TOJB2+uHLpHTny0mCmNa6nUZoELVa2KihTqFGCyx8OjKYK+2zN+MdE\/4QyfGxMo7UodanHTP1Ax+goG\/0GvVhPciVp3yMNYlN78oY\/vJimcWzyJVllCyeRa6loM55nmXE\/cikx+A8ZrXnAI5JfkFpkc6B+td7HBnpAV7\/dTeiicPXDrmfueVmbMN55JZEL6N\/Qv0IVrpDoRuW4MG5Tc6Xsa6AG2Nl57HGiKX2ZPg9+BCBYEQ2gvcoVYvIHyI+K3rIABavetbu9dJ00IpeVY7IyaPWjagP7wxukpJZi74wvXhletuJzip\/Lcg8vw8B9rZPFq5N9jStgChcs3+FTq5HI5gSyQmkTQ2jdLVMmp+EUnrN9u4G8XwcEFTy+Xngblwj9j9UaK4Kbsfu6NveczD62\/ROj00OeHbVnwYSIROpa3149QA29NXfz66fy3SZ\/jxNaXz+qnD8SpGwruPDIDC5XTB1N0WmGmaadPPP1OfaMCCpsHHqR6FixpjItqDmFnq0k0lWBs39D19HX8c="} |
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
Parametri
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- ws_token : Token identificativo del processo di prenotazione, parametro ritornato dal metodo precedente(string).
- user_token : Token identificativo di un utente Overplace, si ottiene attraverso i metodi per il login di un utente esterno
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns7569:inserisciPrenotazione xmlns:ns7569="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">ghWmaMFvdinI/Gsi4Me2tpn5+fJacwLpmt4WCjngebE=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <ws_token xsi:type="xsd:string">eNrtWGtr3EYU/StCX/qldqWR1rsrU0gxdRqoUyeOA6EUMRnNyhNLM0IaLe2a/e8985BWu2sH0geBYGNYaebOnXvOfaLfskUWdrq4qGjXhRmJsocuI2kWFlTTXEixESpvWi6VpniUPDzvsjjKQhLF6UmUnsSRWSHEn1gJyT8vT8zKMgtlm9Oir7SwEhAwv2dZSJnGOasUprWCN6JS5b4R+Z3SvNopYrTmLfeKYvsLgyrRwaJhj2LvQWSxeYgtyiwUxfQMLtdCq0rZxSQLL8xRGhSqaQS1ixAteMdascMGOXYkh0XZY1E9gnEOwnm7horRqMghuVAyWBujw/Ntl8EJK6XVnhCB4lm8jHPQSeI4TuNFHCXL009Nac9YA3ees9cuB/LJSZQEkCBL+MtszQBY3XNLdorrSPI2vo2oWL1pX6kP6pOsb9+u390tZvxPtSY/v7mlv768vLq/eX/14ceBZA8TrjEoi4x4mnRLtQYvUluYiUNgH/apJ8fUw67rVtQ0YKraRRFkEAObjWUkNWoMzRoxUXHnZWoMiKPIx07FtYYDylL0sGKt8lKoVtJKwGALOQuj08jFb/KIuFMdnjvqY/iN9VVFn1Sz3brwOoKYHEPEoStgoUHDZfelCMnXREgeQ5geI4Sya48tuFB1g8vpF4AkX9GNW1eymJKFTXQxmmrqXElbKjfCVJbW1JeWF0KraSExUoxKxisfvnmJbOiFIwBSzliEecNbhhTpHfbJCSuAXLeSSbpXdvKndYPcoqP4H2DMjJNcuRzJnRg6P9rOd4mrDjJ0cBsMwnnHeLzwNeTojn9UUBa2mDYC1V6tUPfzWqAtgX30pa0rOL2GaWMHoMZTD7aU8ZoK2xMSvKxaw1HH1GlNW3bHOxTEF2oNumkDrqpT3nuKfQwbr7i/JF1GvrUYlvuK+tZiIgTFNklms3S+SKJkKK+g0Fu1dwCUxcmckNSHl1Q194+36AC+FzBVDht4u+kRk+4NKJjQzq82mdq+dO3FXInQRDg4d8S46QZ+K2iAH851cLb0bgJcrys68y6DLrlXVV+BD+F6znLScQ25M5ufJkrk6nAOGFLifx8WPttNJ5uHU4BPY2v6GC5zY/NepUohc0k/ChVc9q2gUgQnKFiy6yvj0qD4Tkip1jsDD9k3cN4LGlwLrlsV3CijRAXpD+88v0zVveTHbjx0T0KG7teJEgUKObAWkjlhXHL9cghDYOErJRUY7Do1sBbNZzMyj86i2SBHGVOognlD/2poNayWtNi8qMRHcHYq9Dg3WJ6G/H0ekp6HpOch6XlI+uaHJNc9be3bm3y+8SS0Rrqh5XmI+k+HqK2Do0WDIMFdaL7l3jg9tFHRyNzw9toTwFQh2OE8ZDZJPJnSH9lePLE9hpqRSp5SMrXvtUM5DkuLfz0sTZp8B6UVn1Z78+mpR3YjSqc5b7JqR9/4qQervwzP5FjkgGfj7GEhEFVQKaYOBwtgQxj9/mDCNwuX4ffDlsLrTxJ5XYmA1jXvOoHN8cLQfDKjsqBtEW7/GMJatRRIcuQJuxfSW4yNaAQ1lVC9HkSizOXk3031QP8=</ws_token> <user_token xsi:type="xsd:string">Xc+MKbaJQJ6mSMd/tzo/yZwUkUAPkzgrctmjFlExPGkCbymNvqTxlBPezVvQvsm+158V47oIYuw8CvuEveQAxq7nM8vC3dT6RjZeUGHIYTdiVdwM9NChtA0DFxE5xw/qg/fv/IxE9yguuENlKUFEKjeJDZ6F5PGcelb54fTJAqnabkDT+v6PX76IXUmLpkoSPQ+Yib5Ul1BRdho0YSStbw==</user_token> <response_type xsi:type="xsd:string">xml</response_type> </ns7569:inserisciPrenotazione> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<response> <id_hotel_prenotazione>81</id_hotel_prenotazione> <paypal_values> <cmd>_xclick</cmd> <business>user@overplace.com</business> <amount>50</amount> <item_name>Prenotazione camera: Camera doppia</item_name> <first_name>User</first_name> <last_name>Surname</last_name> <address1>Strada Street 69</address1> <city>Perugia</city> <zip>06100</zip> <state>Italia</state> <lc>IT</lc> <currency_code>EUR</currency_code> <email>francesco.marchesini@overcapital.eu</email> <paymentaction>authorization</paymentaction> <cn>Pre-autorizzazione dell'importo trattenuto in caso di cancellazione, senza effettuare la transazione</cn> <item_number>81</item_number> </paypal_values> </response> |
Response in formato Json
1 |
{"id_hotel_prenotazione":"82","paypal_values":{"cmd":"_xclick","business":"gadz@libero.it","amount":"50","item_name":"Prenotazione camera: Camera doppia","first_name":"User","last_name":"Surname","address1":"Strada Street 69","city":"Perugia","zip":"06100","state":"Italia","lc":"IT","currency_code":"EUR","email":"francesco.marchesini@overcapital.eu","paymentaction":"authorization","cn":"Pre-autorizzazione dell'importo trattenuto in caso di cancellazione, senza effettuare la transazione","item_number":"82"}} |
Script php di esempio per generare form di pagamento paypal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php function genera_form($values){ $form = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">'; foreach($values as $key => $val){ $form.= '<input type="hidden" name="'.$key.'" value="'.$val.'" />'; } $form.='<input id="return" name="return" value="http://www.myclient.com/example.php?paypal=true" type="hidden"/> <input id="cancel_return" name="cancel_return" value="http://www.myclient.com/example.php?paypal=false" type="hidden"/> <input id="notify_url" name="notify_url" value="http://www.myclient.com/example.php?paypal=ipn" type="hidden"/> <input type="submit" value="Paga" /></form>'; return $form; } $json_response = '{"id_hotel_prenotazione":"82","paypal_values":{"cmd":"_xclick","business":"accountpayapl@overplace.com","amount":"50","item_name":"Prenotazione camera: Camera doppia","first_name":"User","last_name":"Surname","address1":"Strada Street 69","city":"Perugia","zip":"06100","state":"Italia","lc":"IT","currency_code":"EUR","email":"francesco.marchesini@overcapital.eu","paymentaction":"authorization","cn":"Pre-autorizzazione dell\'importo trattenuto in caso di cancellazione, senza effettuare la transazione","item_number":"82"}}'; $var = json_decode($json_response, true); $form = genera_form($var['paypal_values']); echo $form; ?> |
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/
Parametri
- ws_auth_token: Client token ottenuto dal Client Login Webservice (string).
- idapp: Application id delle vetrina Overplace sulla quale il client vuole operare (es. CJ50)(string).
- id_hotel_prenotazione : Id prenotazione ottenuto con il metodo precedente(string).
- ipn: txn_id ottenuto da paypal in seguito a response ipn(string).
- response type : formato della risposta, i parametri accettati sono “xml” o “json”(string).
Esempio Request lato Client
1 2 3 4 5 6 7 8 9 10 11 12 |
<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns9969:checkIpnResponse xmlns:ns7569="http://tempuri.org"> <ws_auth_token xsi:type="xsd:string">ghWmaMFvdinI/Gsi4Me2tpn5+fJacwLpmt4WCjngebE=</ws_auth_token> <id_app xsi:type="xsd:string">CJ50</id_app> <id_hotel_prenotazione xsi:type="xsd:int">80</id_hotel_prenotazione> <ipn xsi:type="xsd:string">CJ5080TTXL7</ipn> <response_type xsi:type="xsd:string">xml</response_type> </ns9969:checkIpnResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Esempio Response lato Client
1 2 3 |
<response> <esito>prenotazione_confermata</esito> </response> |
Response in formato Json
1 |
{"esito":"prenotazione_confermata"} |
Comments are closed.