Changes for page 7. Book
Last modified by Giorgi Mdivnishvili on 2024/02/28 09:26
From version 1.1
edited by Giorgi Mdivnishvili
on 2024/02/26 15:40
on 2024/02/26 15:40
Change comment:
There is no comment for this version
To version 3.1
edited by Giorgi Mdivnishvili
on 2024/02/26 16:23
on 2024/02/26 16:23
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Book 1 +7. Book - Content
-
... ... @@ -1,0 +1,405 @@ 1 +**https:~/~/restapi.rustaronline.com/v1.01/api/book** 2 + 3 +Method: POST 4 + 5 +Parameters to pass (IN URL): agented and agentpassword 6 + 7 +Sample URL: 8 + 9 +[[**https:~~/~~/restapi.rustaronline.com/v1.01/api/book?agentid=test.test&agentpassword=TestP@ssw0rd**>>url:https://restapi.rustaronline.com/v1.01/api/book?agentid=test.test&agentpassword=TestP@ssw0rd]] 10 + 11 + 12 +The method registers a booking request from the agent into Rustar’s database 13 + 14 +**Post value example:** 15 + 16 +{{code language="json"}} 17 +{ 18 + "reservationcode": "RES001", 19 + "customers": [{ 20 + "customercode": "1", 21 + "title": "Mr", 22 + "gender": "M", 23 + "firstname": "John", 24 + "lastname": "Smith", 25 + "birthdate": "1990-01-01T00:00:00", 26 + "citizenship": "AE", 27 + "visarequired": true, 28 + "arrivaldate": "2018-03-20T13:00:00", 29 + "arrivalflightnumber": "FL001", 30 + "arrivalairport": "DXB", 31 + "departuredate": "2018-03-25T15:00:00", 32 + "departureflightnumber": "FL002", 33 + "departureairport": "DXB", 34 + "countryaccesscode": "971", 35 + "areacitycode": "4", 36 + "phonenumber": "000-00-00", 37 + "email": "", 38 + "passportnumber": "", 39 + "passporttype": "", 40 + "issuedate": null, 41 + "expirydate": null, 42 + "issuecity": null, 43 + "note": "" 44 + },{ 45 + "customercode": "2", 46 + "title": "Mrs", 47 + "gender": "F", 48 + "firstname": "Jane", 49 + "lastname": "Smith", 50 + "birthdate": "1990-02-02T00:00:00", 51 + "citizenship": "AE", 52 + "visarequired": true, 53 + "arrivaldate": "2018-03-20T13:00:00", 54 + "arrivalflightnumber": "FL001", 55 + "arrivalairport": "DXB", 56 + "departuredate": "2018-03-25T15:00:00", 57 + "departureflightnumber": "FL002", 58 + "departureairport": "DXB", 59 + "countryaccesscode": "971", 60 + "areacitycode": "4", 61 + "phonenumber": "000-00-00", 62 + "email": "", 63 + "passportnumber": "", 64 + "passporttype": "", 65 + "issuedate": null, 66 + "expirydate": null, 67 + "issuecity": null, 68 + "note": "" 69 + } 70 + ], 71 + "hotels": [{ 72 + "hotelname": "Rixos Premium Dubai", 73 + "checkindate": "2018-03-20T00:00:00", 74 + "checkoutdate": "2018-03-25T00:00:00", 75 + "placement": "DBL", 76 + "roomcategoryname": "1 B/R Deluxe Suite", 77 + "promotioncodes": "", 78 + "mealplan": "BB", 79 + "adults": 2, 80 + "children": 0, 81 + "infants": 0, 82 + "hotelnote": "VIP Guest", 83 + "customercodes": [ 84 + "1","2" 85 + ] 86 + } 87 + ], 88 + "transfers": [{ 89 + "transferdate": "2018-03-20T00:00:00", 90 + "transfertype": "GROUP", 91 + "fromairport": "DXB", 92 + "toairport": null, 93 + "tohotelname": "Rixos Premium Dubai", 94 + "customercodes": [ 95 + "1","2" 96 + ] 97 + },{ 98 + "transferdate": "2018-03-25T00:00:00", 99 + "transfertype": "GROUP", 100 + "fromairport": null, 101 + "fromhotelname": "Rixos Premium Dubai", 102 + "toairport": "DXB", 103 + "tohotelid": null, 104 + "customercodes": [ 105 + "1","2" 106 + ] 107 + } 108 + ], 109 + "hotelextras": [] 110 +} 111 + 112 +{{/code}} 113 + 114 + 115 + 116 +**reservationcode:** string. Reservation/Booking ID from Agent’s system. Might be null 117 + 118 +**customers:** Array of all tourists of this booking 119 + 120 +**~ customercode:** string. Unique ID of the customer from Agent. Mandatory 121 + 122 + **title:** string. Tile (“Mr”, “Mrs”…). Optional 123 + 124 + **gender:** string. “M” or “F” only. Mandatory 125 + 126 + **firstname:** First name of the customer. Mandatory 127 + 128 + **lastname:** Last name of the customer. Mandatory 129 + 130 + **birthdate:** Birth date of the customer. Optional. If empty, then the customer will be registered as adult 131 + 132 + **citizenship:** string. ISO2 format of the country code. For example “KZ”, “UA”. . Mandatory 133 + 134 + **visarequired:** Boolean. Is customer applying for a visa service from rustar. Mandatory 135 + 136 + **arrivaldate:** datetime. Mandatory. Addival date AND time of the customer 137 + 138 + **arrivalflightnumber:** string. Mandatory. Flight code of the customer for arrival 139 + 140 + **arrivalairport:** string. IATA 3 character code of the airpot. Mandatory. Example: “DXB”,”SHJ” 141 + 142 + **departuredate:** datetime. Mandatory. Departure date AND time of the customer 143 + 144 + **departureflightnumber:** string. Mandatory. Flight code of the customer for arrival 145 + 146 + **departureairport:** string. IATA 3 character code of the airpot. Mandatory. Example: “DXB”,”SHJ” 147 + 148 + **countryaccesscode:** string. Phone code for the country. Optional. Example: “971” 149 + 150 + **areacitycode:** string. Phone code for city or mobile operator. Optional. Example: “050” 151 + 152 + **phonenumber:** string. Phone number of the customer. Optional 153 + 154 + **email:** string. Email address of the customer. Optional 155 + 156 + **passportnumber:** string. Passport number of the customer. Optional 157 + 158 + **passporttype:** string. “ID” or “PS”. Optional. Passport type. 159 + 160 + **issuedate:** date. Optional. Issue date of the passport 161 + 162 + **expirydate:** date. Optional. Expire date of the passport 163 + 164 + **issuecity:** string. Optional. City where the passport was issued 165 + 166 + **note:** string. Optional. 167 + 168 +**hotels:** Array of the hotels to book for this reservation 169 + 170 + **hotelid: **guid. Optional. Hotelid returned by “hotels” method (page 2) 171 + 172 + **hotelname:** string. Optional. Hotel name. Will be taken from hotelid if empty 173 + 174 + **placement:** string. Mandatory. Placement returned by hotelprices method. (see page 4) 175 + 176 + **roomcategory:** guid. Optional. Room category ID returned by hotelprices method. (see page 4) 177 + 178 + **roomcategoryname:** string. Optional. Room type name. Will be taken from roomcategory if empty 179 + 180 + **priceid:** guid. Optional. Priceid returned by hotelprices method. (see page 4) 181 + 182 +**~ promotioncodes: **string. Optional. PromotionCodes separated by “;” to book 183 + 184 + **mealplan:** string. Optional. Meal plan of the price. Will be taken from priceid if empty 185 + 186 + **checkindate:** date. Mandatory. Check in date for this price. Must be within the range of the price 187 + 188 + **checkoutdate:** date. Mandatory. Check out date for this price. Must be within the range of the price 189 + 190 + **adults:** int. Mandatory. Number of adults in booking 191 + 192 + **children:** int. Number of children in booking 193 + 194 + **infants:** int. Number of infants in booking 195 + 196 + **hotelnote:** string. Note for the booking. Optional 197 + 198 + **customercodes:** array of strings. Codes of the customers staying in this hotel reservation for these dates 199 + 200 +**transfers:** Array of the transfers for this booking 201 + 202 + **transferdate: **date. Mandatory. Date of the transfer 203 + 204 + **transfertype:** string. Mandatory. VehicleName taken from vehicletypes method. Page 15 (“GROUP”, “TOYOTA PREVIA”…) 205 + 206 + **fromairport:** string. IATA code of the airport to pick up the tourists 207 + 208 + **fromhotelid:** guid. Hotelid returned by hotels method. Hotel to pick up the tourists. 209 + 210 + **fromhotelname:** string. HotelName returned by hotels method. 211 + 212 + **toairport:** string. IATA code of the airport to drop the tourists 213 + 214 + **tohotelid:** guid. Hotelid returned by hotels method. Hotel to drop the tourists. 215 + 216 + **tohotelname:** string. HotelName returned by hotels method. 217 + 218 + **customercodes:** array of strings. Codes of the customers for this transfer 219 + 220 +**hotelextras:** Array of the extra services, like gala dinners for this booking 221 + 222 + **servicedate: **date. Mandatory. Date of the service/gala dinner 223 + 224 + **extraserviceid:** guid. Mandatory. extraserviceid returned by hotelextras method. Page 9 225 + 226 + **customerprices:** array of customercodes and priceid-s from hotelextras 227 + 228 + **customercode:** string. Mandatory. CustomerCode from Customer’s object. 229 + 230 + **priceid:** guid. Mandatory. Price id from Adult, Teen, Child, Infant from hotelextras 231 + 232 + 233 + 234 +**Return value example:** 235 + 236 + 237 +{{code language="json"}} 238 +{ 239 + "Code": "00", 240 + "Message": "", 241 + "Timestamp": "2018-01-06T03:35:50.0365078+04:00", 242 + "Version": "1.01", 243 + "ResponseID": "506decf4-7deb-46fd-b10f-35d8baf6ee3f", 244 + "Data": { 245 + "ReservationID": "b36f6534-c5ce-4bc7-b8b6-8ee39fc6f913", 246 + "ReservationNumber": "68440", 247 + "ReservationDate": "2018-01-06T03:35:46.257", 248 + "ReservationAmount": 6877.00, 249 + "ReservationStatus": 0, 250 + "ReservationStatusName": "Draft", 251 + "ReservationTourists": [{ 252 + "TouristID": "942dd874-cd3b-4f3c-b3bc-c2a92b38c392", 253 + "FirstName": "John", 254 + "LastName": "Smith", 255 + "ChildFlag": 0, 256 + "BirthDate": "1990-01-01T00:00:00", 257 + "CountryCode": "AE", 258 + "CountryID": "fead4059-3958-42d9-ab98-4446de89c0f1", 259 + "CountryAccessCode": "971", 260 + "AreaCityCode": "4", 261 + "PhoneNumber": "000-00-00", 262 + "Gender": 1, 263 + "ArrivalDate": "2018-03-20T13:00:00", 264 + "ArrivalFlightNumber": "FL001", 265 + "ArrivalTerminalName": "DXB", 266 + "DepartureDate": "2018-03-25T15:00:00", 267 + "DepartureFlightNumber": "FL002", 268 + "DepartureTerminalName": "DXB", 269 + "Email": "", 270 + "PassportNumber": "", 271 + "PassportType": "", 272 + "IssueCity": null, 273 + "IssueDate": null, 274 + "ExpiryDate": null, 275 + "Note": "" 276 + }, { 277 + "TouristID": "18c4ac33-05e6-49b5-b9cd-3f3cc1a30b61", 278 + "FirstName": "Jane", 279 + "LastName": "Smith", 280 + "ChildFlag": 0, 281 + "BirthDate": "1990-02-02T00:00:00", 282 + "CountryCode": "AE", 283 + "CountryID": "fead4059-3958-42d9-ab98-4446de89c0f1", 284 + "CountryAccessCode": "971", 285 + "AreaCityCode": "4", 286 + "PhoneNumber": "000-00-00", 287 + "Gender": 2, 288 + "ArrivalDate": "2018-03-20T13:00:00", 289 + "ArrivalFlightNumber": "FL001", 290 + "ArrivalTerminalName": "DXB", 291 + "DepartureDate": "2018-03-25T15:00:00", 292 + "DepartureFlightNumber": "FL002", 293 + "DepartureTerminalName": "DXB", 294 + "Email": "", 295 + "PassportNumber": "", 296 + "PassportType": "", 297 + "IssueCity": null, 298 + "IssueDate": null, 299 + "ExpiryDate": null, 300 + "Note": "" 301 + }], 302 + "ReservationHotels": [{ 303 + "ReservationHotelID": "19be0332-a305-4343-b2a2-ff2f012461d9", 304 + "AgentConfirmationNumber": "RES001", 305 + "CheckInDate": "2018-03-20T00:00:00", 306 + "CheckOutDate": "2018-03-25T00:00:00", 307 + "HotelID": "ed1b48cc-c0d1-47f4-8b17-03e509f705bc", 308 + "HotelName": "Rixos Premium Dubai", 309 + "RoomCategoryID": "64c30364-80db-4634-ad24-5b15eb1adf44", 310 + "RoomCategoryName": "1 B/R Deluxe Suite", 311 + "PriceID": "5ed4e543-9af3-42b3-b367-b4dfce0b2042", 312 + "MealPlanName": "BB", 313 + "Placement": 3, 314 + "PlacementTypeName": "DBL", 315 + "Note": "VIP Guest", 316 + "Tourists": ["942dd874-cd3b-4f3c-b3bc-c2a92b38c392", "18c4ac33-05e6-49b5-b9cd-3f3cc1a30b61"] 317 + }], 318 + "ReservationTransferServices": [{ 319 + "ReservationTransferID": "47608d83-7205-4a60-9498-055516ad4328", 320 + "TouristID": "942dd874-cd3b-4f3c-b3bc-c2a92b38c392", 321 + "TransferDate": "2018-03-25T00:00:00", 322 + "ServiceName": "DEPARTURE", 323 + "FromTerminalName": null, 324 + "ToTerminalName": "DXB", 325 + "FromHotelID": "ed1b48cc-c0d1-47f4-8b17-03e509f705bc", 326 + "FromHotelName": "Rixos Premium Dubai", 327 + "ToHotelID": null, 328 + "ToHotelName": null, 329 + "VehicleTypeId": "a9252005-0a92-4ed1-9603-0f2f14295c29", 330 + "VehicleTypeName": "GROUP" 331 + }, { 332 + "ReservationTransferID": "14730745-5ce8-4045-b032-b3c0fe956a96", 333 + "TouristID": "942dd874-cd3b-4f3c-b3bc-c2a92b38c392", 334 + "TransferDate": "2018-03-20T00:00:00", 335 + "ServiceName": "ARRIVAL", 336 + "FromTerminalName": "DXB", 337 + "ToTerminalName": null, 338 + "FromHotelID": null, 339 + "FromHotelName": null, 340 + "ToHotelID": "ed1b48cc-c0d1-47f4-8b17-03e509f705bc", 341 + "ToHotelName": "Rixos Premium Dubai", 342 + "VehicleTypeId": "a9252005-0a92-4ed1-9603-0f2f14295c29", 343 + "VehicleTypeName": "GROUP" 344 + }, { 345 + "ReservationTransferID": "128930a5-996e-4581-8be0-0126a4d460ec", 346 + "TouristID": "18c4ac33-05e6-49b5-b9cd-3f3cc1a30b61", 347 + "TransferDate": "2018-03-20T00:00:00", 348 + "ServiceName": "ARRIVAL", 349 + "FromTerminalName": "DXB", 350 + "ToTerminalName": null, 351 + "FromHotelID": null, 352 + "FromHotelName": null, 353 + "ToHotelID": "ed1b48cc-c0d1-47f4-8b17-03e509f705bc", 354 + "ToHotelName": "Rixos Premium Dubai", 355 + "VehicleTypeId": "a9252005-0a92-4ed1-9603-0f2f14295c29", 356 + "VehicleTypeName": "GROUP" 357 + }, { 358 + "ReservationTransferID": "1d0630a4-547e-452d-b0c9-448b5423fe94", 359 + "TouristID": "18c4ac33-05e6-49b5-b9cd-3f3cc1a30b61", 360 + "TransferDate": "2018-03-25T00:00:00", 361 + "ServiceName": "DEPARTURE", 362 + "FromTerminalName": null, 363 + "ToTerminalName": "DXB", 364 + "FromHotelID": "ed1b48cc-c0d1-47f4-8b17-03e509f705bc", 365 + "FromHotelName": "Rixos Premium Dubai", 366 + "ToHotelID": null, 367 + "ToHotelName": null, 368 + "VehicleTypeId": "a9252005-0a92-4ed1-9603-0f2f14295c29", 369 + "VehicleTypeName": "GROUP" 370 + }], 371 + "ReservationServices": [{ 372 + "ReservationServiceID": "d026ba62-c193-4c5b-956d-458dc5e6a00a", 373 + "TouristID": "18c4ac33-05e6-49b5-b9cd-3f3cc1a30b61", 374 + "ServiceDate": "2018-03-20T13:00:00", 375 + "ServiceName": "Visa / Visa Charges" 376 + }, { 377 + "ReservationServiceID": "180538a7-34f5-4899-a47c-f732cf1e29fd", 378 + "TouristID": "942dd874-cd3b-4f3c-b3bc-c2a92b38c392", 379 + "ServiceDate": "2018-03-20T13:00:00", 380 + "ServiceName": "Visa / Visa Charges" 381 + }] 382 + } 383 +} 384 + 385 + 386 +{{/code}} 387 + 388 + 389 + 390 +The values are self-descriptive and most of them just are the same as passed to this booking. The values to pay attention apart crosschecking the booking parameters are: 391 + 392 + 393 +**ReservationID**: guid. Unique ID assigned to the booking by Rustar 394 + 395 +**ReservationNumber**: string. Unique booking number assigned by Rustar. Can be used for searching on web portal 396 + 397 +**ReservationDate**: date and time of the reservation. 398 + 399 +**ReservationAmount**: decimal. Total amount of the booking in USD 400 + 401 +**ReservationStatus**: int. Status id of the reservation. 402 + 403 +**ReservationStatusName**: string. Description of the status of the reservation 404 + 405 +
- 1708947648299-837.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.GiorgiMdivnishvili - Size
-
... ... @@ -1,0 +1,1 @@ 1 +105.9 KB - Content