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
Change comment: There is no comment for this version
To version 3.1
edited by Giorgi Mdivnishvili
on 2024/02/26 16:23
Change comment: There is no comment for this version

Summary

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