gillbus 0.17.6 → 0.22.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.ruby-version +1 -1
- data/Gemfile +0 -4
- data/gillbus.gemspec +1 -1
- data/lib/gillbus/base_request.rb +2 -0
- data/lib/gillbus/base_response.rb +8 -4
- data/lib/gillbus/get_carriers.rb +13 -0
- data/lib/gillbus/get_required_fields.rb +1 -0
- data/lib/gillbus/get_trip_seats.rb +7 -0
- data/lib/gillbus/helpers/parser.rb +45 -11
- data/lib/gillbus/return_position.rb +2 -0
- data/lib/gillbus/return_position_forced.rb +16 -0
- data/lib/gillbus/search_nearby_trips.rb +39 -0
- data/lib/gillbus/search_trips.rb +20 -13
- data/lib/gillbus/structs/carrier.rb +11 -0
- data/lib/gillbus/structs/luggage.rb +19 -0
- data/lib/gillbus/structs/nearby_cities_trip.rb +61 -0
- data/lib/gillbus/structs/point.rb +2 -0
- data/lib/gillbus/structs/return_cause.rb +1 -1
- data/lib/gillbus/structs/seat.rb +1 -0
- data/lib/gillbus/structs/segment.rb +27 -0
- data/lib/gillbus/structs/tariff/return_cause.rb +8 -3
- data/lib/gillbus/structs/ticket.rb +29 -12
- data/lib/gillbus/structs/tickets_option.rb +29 -0
- data/lib/gillbus/structs/trip.rb +35 -0
- data/lib/gillbus/structs/trip_options.rb +82 -24
- data/lib/gillbus/structs/trip_service.rb +16 -1
- data/lib/gillbus/tickets_booking.rb +34 -0
- data/lib/gillbus/version.rb +1 -1
- data/lib/gillbus.rb +31 -3
- data/test/error_test.rb +1 -1
- data/test/find_order_test.rb +16 -0
- data/test/get_required_fields_test.rb +77 -0
- data/test/get_trip_seats_test.rb +36 -0
- data/test/get_trip_segments_test.rb +1 -0
- data/test/parse_trip_options_test.rb +92 -0
- data/test/parse_trip_test.rb +25 -0
- data/test/responses/findOrder.xml +8 -0
- data/test/responses/getRequiredFieldsWithOneLuggage.xml +28 -0
- data/test/responses/getRequiredFieldsWithTwoLuggageSegments.xml +40 -0
- data/test/responses/getRequiredFieldsWithoutLuggage.xml +23 -0
- data/test/responses/getTripSeats-back-seats.xml +1192 -0
- data/test/responses/getTripSeats-two-floors.xml +1122 -0
- data/test/responses/getTripSeats.xml +70 -0
- data/test/responses/legacy_trip.yml +120 -0
- data/test/responses/legacy_trip_2.yml +217 -0
- data/test/responses/searchTrips-full-carriers-info.xml +231 -0
- data/test/responses/searchTrips-new-options-format.xml +244 -0
- data/test/responses/searchTrips-prod.xml +5 -0
- data/test/responses/searchTrips-round-trip-offers.xml +2016 -0
- data/test/responses/searchTripsNearby.xml +707 -0
- data/test/responses/ticketsBooking.xml +1 -0
- data/test/search_nearby_trips_test.rb +18 -0
- data/test/search_trips_test.rb +93 -0
- data/test/tickets_booking_test.rb +63 -0
- metadata +49 -13
@@ -0,0 +1,244 @@
|
|
1
|
+
<DATA>
|
2
|
+
<COMPLETED>true</COMPLETED>
|
3
|
+
<TRIP>
|
4
|
+
<ID>3451212695530327295</ID>
|
5
|
+
<RES_ID>10</RES_ID>
|
6
|
+
<NUMBER>2197</NUMBER>
|
7
|
+
<START_CITY_NAME>Москва</START_CITY_NAME>
|
8
|
+
<END_CITY_NAME>Санкт-Петербург</END_CITY_NAME>
|
9
|
+
<START_DATE>23.08.2014</START_DATE>
|
10
|
+
<END_DATE>24.08.2014</END_DATE>
|
11
|
+
<START_TIME>19:00</START_TIME>
|
12
|
+
<START_TIMEZONE>Europe/Moscow</START_TIMEZONE>
|
13
|
+
<END_TIME>06:30</END_TIME>
|
14
|
+
<END_TIMEZONE>Europe/Moscow</END_TIMEZONE>
|
15
|
+
<BUS_MODEL/>
|
16
|
+
<PLACES_COUNT>18</PLACES_COUNT>
|
17
|
+
<FREE_PLACES_COUNT>3</FREE_PLACES_COUNT>
|
18
|
+
<FREE_BUSY_PLACES>3/18</FREE_BUSY_PLACES>
|
19
|
+
<CARRIER_NAME>ИП Унанян И.А.</CARRIER_NAME>
|
20
|
+
<TIME_IN_ROAD>11:30</TIME_IN_ROAD>
|
21
|
+
<STATION_BEGIN_NAME>Москва</STATION_BEGIN_NAME>
|
22
|
+
<STATION_BEGIN_ADDRESS>Москва, Рязанский переулок, д. 13, стр. 1</STATION_BEGIN_ADDRESS>
|
23
|
+
<STATION_END_NAME>Санкт-Петербург</STATION_END_NAME>
|
24
|
+
<STATION_END_ADDRESS>м. Купчино </STATION_END_ADDRESS>
|
25
|
+
<RESERVATION_ENABLED>true</RESERVATION_ENABLED>
|
26
|
+
<SALE_ENABLED>true</SALE_ENABLED>
|
27
|
+
<RETURN_ENABLED>false</RETURN_ENABLED>
|
28
|
+
<TIME_FOR_CANCEL>25</TIME_FOR_CANCEL>
|
29
|
+
<TRIP_FULL_SALE>false</TRIP_FULL_SALE>
|
30
|
+
<CAN_DISCOUNT>true</CAN_DISCOUNT>
|
31
|
+
<INTERNATIONAL>false</INTERNATIONAL>
|
32
|
+
<JOIN_BOOK_BUY>false</JOIN_BOOK_BUY>
|
33
|
+
<TRIP_MODE>1</TRIP_MODE>
|
34
|
+
<CUSTOM_STATUS>0</CUSTOM_STATUS>
|
35
|
+
<IMAGE_URL>null</IMAGE_URL>
|
36
|
+
<START_POINT_TYPE>null</START_POINT_TYPE>
|
37
|
+
<FAKE_TIME_IN_ROAD>true</FAKE_TIME_IN_ROAD>
|
38
|
+
<VEHICLE_DESCRIPTION>null</VEHICLE_DESCRIPTION>
|
39
|
+
<RECOMMENDED>true</RECOMMENDED>
|
40
|
+
<VEHICLE_FEATURES>null</VEHICLE_FEATURES>
|
41
|
+
<TOTAL_COST>1410.0</TOTAL_COST>
|
42
|
+
<CURRENCY>RUB</CURRENCY>
|
43
|
+
<CURRENCY_CODE>643</CURRENCY_CODE>
|
44
|
+
<REDIRECT_URL>http://example.com/123</REDIRECT_URL>
|
45
|
+
<TARIFF>
|
46
|
+
<SHORT_NAME>Y</SHORT_NAME>
|
47
|
+
<FULL_NAME/>
|
48
|
+
<START_DATE/>
|
49
|
+
<END_DATE/>
|
50
|
+
<DESCRIPTION/>
|
51
|
+
<TIME_TO_BUY_RESERVED>0</TIME_TO_BUY_RESERVED>
|
52
|
+
<TIME_TO_STOP_BOOKING>0</TIME_TO_STOP_BOOKING>
|
53
|
+
<COST>1410</COST>
|
54
|
+
<AFTER_DISPATCH_NO_RETURN>false</AFTER_DISPATCH_NO_RETURN>
|
55
|
+
<PASSENGER_BIRTHDAY/>
|
56
|
+
<PASSENGER_ISIC_NUMBER/>
|
57
|
+
<PASSENGER_STUDENT_TICKET/>
|
58
|
+
<RETURN_CAUSE lossless='true'>cause 1</RETURN_CAUSE>
|
59
|
+
<RETURN_CAUSE id='asdasd'>cause 2</RETURN_CAUSE>
|
60
|
+
<RETURN_CAUSE>cause 3</RETURN_CAUSE>
|
61
|
+
</TARIFF>
|
62
|
+
<POINT>
|
63
|
+
<NUMBER>0</NUMBER>
|
64
|
+
<GEOGRAPHY_NAME>Москва</GEOGRAPHY_NAME>
|
65
|
+
<NAME>Москва</NAME>
|
66
|
+
<ADDRESS>Москва, Рязанский переулок, д. 13, стр. 1</ADDRESS>
|
67
|
+
<ARRIVAL_DATE>23.08.2014</ARRIVAL_DATE>
|
68
|
+
<ARRIVAL_TIME>19:00</ARRIVAL_TIME>
|
69
|
+
<DISPATCH_DATE/>
|
70
|
+
<DISPATCH_TIME/>
|
71
|
+
<CHECK_POINT>false</CHECK_POINT>
|
72
|
+
</POINT>
|
73
|
+
<POINT>
|
74
|
+
<NUMBER>1</NUMBER>
|
75
|
+
<GEOGRAPHY_NAME>Вышний Волочек</GEOGRAPHY_NAME>
|
76
|
+
<NAME>Вышний Волочек</NAME>
|
77
|
+
<ADDRESS>трасса (М10)</ADDRESS>
|
78
|
+
<ARRIVAL_DATE>24.08.2014</ARRIVAL_DATE>
|
79
|
+
<ARRIVAL_TIME>00:00</ARRIVAL_TIME>
|
80
|
+
<DISPATCH_DATE/>
|
81
|
+
<DISPATCH_TIME/>
|
82
|
+
<CHECK_POINT>false</CHECK_POINT>
|
83
|
+
</POINT>
|
84
|
+
<POINT>
|
85
|
+
<NUMBER>2</NUMBER>
|
86
|
+
<GEOGRAPHY_NAME>Великий Новгород</GEOGRAPHY_NAME>
|
87
|
+
<NAME>Великий Новгород</NAME>
|
88
|
+
<ADDRESS>трасса (Подберезье, поворот на Великий Новгород)</ADDRESS>
|
89
|
+
<ARRIVAL_DATE>24.08.2014</ARRIVAL_DATE>
|
90
|
+
<ARRIVAL_TIME>03:30</ARRIVAL_TIME>
|
91
|
+
<DISPATCH_DATE/>
|
92
|
+
<DISPATCH_TIME/>
|
93
|
+
<CHECK_POINT>false</CHECK_POINT>
|
94
|
+
</POINT>
|
95
|
+
<POINT>
|
96
|
+
<NUMBER>3</NUMBER>
|
97
|
+
<GEOGRAPHY_NAME>Санкт-Петербург</GEOGRAPHY_NAME>
|
98
|
+
<NAME>Санкт-Петербург</NAME>
|
99
|
+
<ADDRESS>м. Купчино </ADDRESS>
|
100
|
+
<ARRIVAL_DATE>24.08.2014</ARRIVAL_DATE>
|
101
|
+
<ARRIVAL_TIME>06:30</ARRIVAL_TIME>
|
102
|
+
<DISPATCH_DATE/>
|
103
|
+
<DISPATCH_TIME/>
|
104
|
+
<CHECK_POINT>false</CHECK_POINT>
|
105
|
+
</POINT>
|
106
|
+
<OPTIONS>
|
107
|
+
<TRIP_SERVICES>
|
108
|
+
<TRIP_SERVICE ID="1">Кофе</TRIP_SERVICE>
|
109
|
+
<TRIP_SERVICE ID="15">Wi-Fi</TRIP_SERVICE>
|
110
|
+
</TRIP_SERVICES>
|
111
|
+
<LUGGAGE>
|
112
|
+
<LUGGAG ID="1">В стоимость входит провоз 2 единиц багажа свыше 80 кг.</LUGGAG>
|
113
|
+
<LUGGAG ID="2">Ручная кладь 20см x 40см x 30см входит в стоимость билета.</LUGGAG>
|
114
|
+
<LUGGAG ID="3">Превышение по багажу оплачивается в размере 1% от стоимости тарифа.</LUGGAG>
|
115
|
+
</LUGGAGE>
|
116
|
+
<TECHNICAL_STOP>
|
117
|
+
<TECHNICAL_STO ID="1">Технические остановки осуществляются каждые 2-3 часа.</TECHNICAL_STO>
|
118
|
+
</TECHNICAL_STOP>
|
119
|
+
<CRITICAL_INFO>
|
120
|
+
<ITEM>Внимание! Ознакомьтесь со списком стран, въезд в которые ограничен в связи с коронавирусом >> https://busfor.com/ru/blog/covid-19-updates</ITEM>
|
121
|
+
<CRITICAL_INF ID="16">в связи с дорожными условиями, возможно отклонение в расписании движения в пределах 1час30.</CRITICAL_INF>
|
122
|
+
</CRITICAL_INFO>
|
123
|
+
<SEATING>
|
124
|
+
<SEATIN ID="1">Свободная рассадка.</SEATIN>
|
125
|
+
</SEATING>
|
126
|
+
<RESOURCE_TRIP_OPTION>
|
127
|
+
<RESOURCE_TRIP_OPTIO ID="1">Посадка начинается за 10 мин.</RESOURCE_TRIP_OPTIO>
|
128
|
+
</RESOURCE_TRIP_OPTION>
|
129
|
+
<OTHER>
|
130
|
+
<OTHE ID="1">Переправа</OTHE>
|
131
|
+
<OTHE ID="2">Трансфер</OTHE>
|
132
|
+
<OTHE>Cкидка при покупке раунд-трипа</OTHE>
|
133
|
+
</OTHER>
|
134
|
+
<PROMO>
|
135
|
+
<PROM ID="1">BUSFOR_RECOMMEND</PROM>
|
136
|
+
<PROM ID="2">ADVERTISING</PROM>
|
137
|
+
</PROMO>
|
138
|
+
<TICKETS>
|
139
|
+
<TICKET ID="7">ЭЛЕКТРОННЫЙ БИЛЕТ. Печать билета не требуется!</TICKET>
|
140
|
+
</TICKETS>
|
141
|
+
</OPTIONS>
|
142
|
+
</TRIP>
|
143
|
+
<TRIP>
|
144
|
+
<ID>-3986171261205069729</ID>
|
145
|
+
<RES_ID>10</RES_ID>
|
146
|
+
<NUMBER>2093</NUMBER>
|
147
|
+
<START_CITY_NAME>Москва</START_CITY_NAME>
|
148
|
+
<END_CITY_NAME>Санкт-Петербург</END_CITY_NAME>
|
149
|
+
<START_DATE>23.08.2014</START_DATE>
|
150
|
+
<END_DATE>24.08.2014</END_DATE>
|
151
|
+
<START_TIME>21:10</START_TIME>
|
152
|
+
<END_TIME>08:40</END_TIME>
|
153
|
+
<BUS_MODEL/>
|
154
|
+
<PLACES_COUNT>18</PLACES_COUNT>
|
155
|
+
<FREE_PLACES_COUNT>10</FREE_PLACES_COUNT>
|
156
|
+
<FREE_BUSY_PLACES>10/18</FREE_BUSY_PLACES>
|
157
|
+
<CARRIER_NAME>ИП Унанян И.А.</CARRIER_NAME>
|
158
|
+
<TIME_IN_ROAD>11:30</TIME_IN_ROAD>
|
159
|
+
<STATION_BEGIN_NAME>Москва</STATION_BEGIN_NAME>
|
160
|
+
<STATION_BEGIN_ADDRESS>Москва, Рязанский переулок, д. 13, стр. 1</STATION_BEGIN_ADDRESS>
|
161
|
+
<STATION_END_NAME>Санкт-Петербург</STATION_END_NAME>
|
162
|
+
<STATION_END_ADDRESS>м. Купчино </STATION_END_ADDRESS>
|
163
|
+
<RESERVATION_ENABLED>true</RESERVATION_ENABLED>
|
164
|
+
<SALE_ENABLED>true</SALE_ENABLED>
|
165
|
+
<RETURN_ENABLED>false</RETURN_ENABLED>
|
166
|
+
<TIME_FOR_CANCEL>25</TIME_FOR_CANCEL>
|
167
|
+
<TRIP_FULL_SALE>false</TRIP_FULL_SALE>
|
168
|
+
<CAN_DISCOUNT>true</CAN_DISCOUNT>
|
169
|
+
<INTERNATIONAL>false</INTERNATIONAL>
|
170
|
+
<JOIN_BOOK_BUY>false</JOIN_BOOK_BUY>
|
171
|
+
<RECOMMENDED>false</RECOMMENDED>
|
172
|
+
<TRIP_MODE>1</TRIP_MODE>
|
173
|
+
<CUSTOM_STATUS>0</CUSTOM_STATUS>
|
174
|
+
<IMAGE_URL>null</IMAGE_URL>
|
175
|
+
<START_POINT_TYPE>null</START_POINT_TYPE>
|
176
|
+
<VEHICLE_DESCRIPTION>null</VEHICLE_DESCRIPTION>
|
177
|
+
<VEHICLE_FEATURES>null</VEHICLE_FEATURES>
|
178
|
+
<TOTAL_COST>1410</TOTAL_COST>
|
179
|
+
<CURRENCY>RUB</CURRENCY>
|
180
|
+
<CURRENCY_CODE>643</CURRENCY_CODE>
|
181
|
+
<TARIFF>
|
182
|
+
<SHORT_NAME>Y</SHORT_NAME>
|
183
|
+
<FULL_NAME/>
|
184
|
+
<START_DATE/>
|
185
|
+
<END_DATE/>
|
186
|
+
<DESCRIPTION/>
|
187
|
+
<TIME_TO_BUY_RESERVED>0</TIME_TO_BUY_RESERVED>
|
188
|
+
<TIME_TO_STOP_BOOKING>0</TIME_TO_STOP_BOOKING>
|
189
|
+
<COST>1410</COST>
|
190
|
+
<AFTER_DISPATCH_NO_RETURN>false</AFTER_DISPATCH_NO_RETURN>
|
191
|
+
<PASSENGER_BIRTHDAY/>
|
192
|
+
<PASSENGER_ISIC_NUMBER/>
|
193
|
+
<PASSENGER_STUDENT_TICKET/>
|
194
|
+
<RETURN_CAUSE id='asdasd'>cause 1</RETURN_CAUSE>
|
195
|
+
<IS_EXCLUSIVE_PRICE>true</IS_EXCLUSIVE_PRICE>
|
196
|
+
</TARIFF>
|
197
|
+
<POINT>
|
198
|
+
<NUMBER>0</NUMBER>
|
199
|
+
<GEOGRAPHY_NAME>Москва</GEOGRAPHY_NAME>
|
200
|
+
<NAME>Москва</NAME>
|
201
|
+
<ADDRESS>Москва, Рязанский переулок, д. 13, стр. 1</ADDRESS>
|
202
|
+
<ARRIVAL_DATE>23.08.2014</ARRIVAL_DATE>
|
203
|
+
<ARRIVAL_TIME>21:10</ARRIVAL_TIME>
|
204
|
+
<DISPATCH_DATE/>
|
205
|
+
<DISPATCH_TIME/>
|
206
|
+
<CHECK_POINT>false</CHECK_POINT>
|
207
|
+
</POINT>
|
208
|
+
<POINT>
|
209
|
+
<NUMBER>1</NUMBER>
|
210
|
+
<GEOGRAPHY_NAME>Вышний Волочек</GEOGRAPHY_NAME>
|
211
|
+
<NAME>Вышний Волочек</NAME>
|
212
|
+
<ADDRESS>трасса (М10)</ADDRESS>
|
213
|
+
<ARRIVAL_DATE>24.08.2014</ARRIVAL_DATE>
|
214
|
+
<ARRIVAL_TIME>02:10</ARRIVAL_TIME>
|
215
|
+
<DISPATCH_DATE/>
|
216
|
+
<DISPATCH_TIME/>
|
217
|
+
<CHECK_POINT>false</CHECK_POINT>
|
218
|
+
</POINT>
|
219
|
+
<POINT>
|
220
|
+
<NUMBER>2</NUMBER>
|
221
|
+
<GEOGRAPHY_NAME>Великий Новгород</GEOGRAPHY_NAME>
|
222
|
+
<NAME>Великий Новгород</NAME>
|
223
|
+
<ADDRESS>трасса (Подберезье, поворот на Великий Новгород)</ADDRESS>
|
224
|
+
<ARRIVAL_DATE>24.08.2014</ARRIVAL_DATE>
|
225
|
+
<ARRIVAL_TIME>05:40</ARRIVAL_TIME>
|
226
|
+
<DISPATCH_DATE/>
|
227
|
+
<DISPATCH_TIME/>
|
228
|
+
<CHECK_POINT>false</CHECK_POINT>
|
229
|
+
</POINT>
|
230
|
+
<POINT>
|
231
|
+
<NUMBER>3</NUMBER>
|
232
|
+
<GEOGRAPHY_NAME>Санкт-Петербург</GEOGRAPHY_NAME>
|
233
|
+
<NAME>Санкт-Петербург</NAME>
|
234
|
+
<ADDRESS>м. Купчино </ADDRESS>
|
235
|
+
<ARRIVAL_DATE>24.08.2014</ARRIVAL_DATE>
|
236
|
+
<ARRIVAL_TIME>08:40</ARRIVAL_TIME>
|
237
|
+
<DISPATCH_DATE/>
|
238
|
+
<DISPATCH_TIME/>
|
239
|
+
<CHECK_POINT>false</CHECK_POINT>
|
240
|
+
</POINT>
|
241
|
+
<OPTIONS>
|
242
|
+
</OPTIONS>
|
243
|
+
</TRIP>
|
244
|
+
</DATA>
|
@@ -42,6 +42,7 @@
|
|
42
42
|
<CURRENCY>RUB</CURRENCY>
|
43
43
|
<CURRENCY_CODE>643</CURRENCY_CODE>
|
44
44
|
<REDIRECT_URL>http://example.com/123</REDIRECT_URL>
|
45
|
+
<BUS_FLOORS_NUMBER>0</BUS_FLOORS_NUMBER>
|
45
46
|
<TARIFF>
|
46
47
|
<SHORT_NAME>Y</SHORT_NAME>
|
47
48
|
<FULL_NAME/>
|
@@ -134,6 +135,9 @@
|
|
134
135
|
<ITEM>BUSFOR_RECOMMEND</ITEM>
|
135
136
|
<ITEM>ADVERTISING</ITEM>
|
136
137
|
</PROMO>
|
138
|
+
<TICKETS>
|
139
|
+
<TICKET ID="7">ЭЛЕКТРОННЫЙ БИЛЕТ. Печать билета не требуется!</TICKET>
|
140
|
+
</TICKETS>
|
137
141
|
</OPTIONS>
|
138
142
|
</TRIP>
|
139
143
|
<TRIP>
|
@@ -174,6 +178,7 @@
|
|
174
178
|
<TOTAL_COST>1410</TOTAL_COST>
|
175
179
|
<CURRENCY>RUB</CURRENCY>
|
176
180
|
<CURRENCY_CODE>643</CURRENCY_CODE>
|
181
|
+
<BUS_FLOORS_NUMBER>2</BUS_FLOORS_NUMBER>
|
177
182
|
<TARIFF>
|
178
183
|
<SHORT_NAME>Y</SHORT_NAME>
|
179
184
|
<FULL_NAME/>
|