Wiki source code of 7. Book

Version 3.1 by Giorgi Mdivnishvili on 2024/02/26 16:23

Show last authors
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