ruby_ptv_api 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.directory +11 -0
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/Guardfile +36 -0
- data/README.md +46 -0
- data/Rakefile +11 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/console_initializer.rb +5 -0
- data/lib/ruby_ptv_api/base.rb +105 -0
- data/lib/ruby_ptv_api/constant.rb +107 -0
- data/lib/ruby_ptv_api/id_manager.rb +17 -0
- data/lib/ruby_ptv_api/model/base.rb +12 -0
- data/lib/ruby_ptv_api/model/plain_point.rb +21 -0
- data/lib/ruby_ptv_api/model/point.rb +9 -0
- data/lib/ruby_ptv_api/model/x_locate/additional_field.rb +14 -0
- data/lib/ruby_ptv_api/model/x_locate/address.rb +24 -0
- data/lib/ruby_ptv_api/model/x_locate/address_response.rb +13 -0
- data/lib/ruby_ptv_api/model/x_locate/combined_transport_location.rb +13 -0
- data/lib/ruby_ptv_api/model/x_locate/combined_transport_response.rb +13 -0
- data/lib/ruby_ptv_api/model/x_locate/location.rb +11 -0
- data/lib/ruby_ptv_api/model/x_locate/result_address.rb +27 -0
- data/lib/ruby_ptv_api/model/x_locate/result_combined_transport.rb +30 -0
- data/lib/ruby_ptv_api/model/x_locate/sort_option.rb +14 -0
- data/lib/ruby_ptv_api/model/x_locate/suggestion.rb +12 -0
- data/lib/ruby_ptv_api/model/x_locate/suggestion_response.rb +13 -0
- data/lib/ruby_ptv_api/model/x_route/bounding_rectangle.rb +13 -0
- data/lib/ruby_ptv_api/model/x_route/brunnel_manoeuvre.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/cen_emission_configuration.rb +14 -0
- data/lib/ruby_ptv_api/model/x_route/cen_emission_conversion_factors.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/cen_emission_scenarios.rb +21 -0
- data/lib/ruby_ptv_api/model/x_route/cen_emissions.rb +8 -0
- data/lib/ruby_ptv_api/model/x_route/commuter_travel_trend.rb +10 -0
- data/lib/ruby_ptv_api/model/x_route/detail_description_option.rb +12 -0
- data/lib/ruby_ptv_api/model/x_route/dynamic_info.rb +12 -0
- data/lib/ruby_ptv_api/model/x_route/emission_type.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/emissions.rb +23 -0
- data/lib/ruby_ptv_api/model/x_route/encoded_geometry.rb +13 -0
- data/lib/ruby_ptv_api/model/x_route/exception_path.rb +17 -0
- data/lib/ruby_ptv_api/model/x_route/expansion_description.rb +12 -0
- data/lib/ruby_ptv_api/model/x_route/feauture_description.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/hbefa_type.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/klm.rb +10 -0
- data/lib/ruby_ptv_api/model/x_route/line_string.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/manoeuvre_attr.rb +17 -0
- data/lib/ruby_ptv_api/model/x_route/manoeuvre_group.rb +16 -0
- data/lib/ruby_ptv_api/model/x_route/norm_speed.rb +12 -0
- data/lib/ruby_ptv_api/model/x_route/plain_geometry_base.rb +8 -0
- data/lib/ruby_ptv_api/model/x_route/plain_line_string.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/reach.rb +12 -0
- data/lib/ruby_ptv_api/model/x_route/reach_info.rb +14 -0
- data/lib/ruby_ptv_api/model/x_route/result_list_options.rb +46 -0
- data/lib/ruby_ptv_api/model/x_route/route.rb +38 -0
- data/lib/ruby_ptv_api/model/x_route/route_info.rb +15 -0
- data/lib/ruby_ptv_api/model/x_route/route_list_segment.rb +39 -0
- data/lib/ruby_ptv_api/model/x_route/route_manoeuvre.rb +44 -0
- data/lib/ruby_ptv_api/model/x_route/routing_option.rb +12 -0
- data/lib/ruby_ptv_api/model/x_route/segment_attributes.rb +27 -0
- data/lib/ruby_ptv_api/model/x_route/speed_limit.rb +10 -0
- data/lib/ruby_ptv_api/model/x_route/speed_limits.rb +10 -0
- data/lib/ruby_ptv_api/model/x_route/template +16 -0
- data/lib/ruby_ptv_api/model/x_route/unique_geo_id.rb +13 -0
- data/lib/ruby_ptv_api/model/x_route/urban_manoeuvre.rb +10 -0
- data/lib/ruby_ptv_api/model/x_route/vehicle_option.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/via_type.rb +11 -0
- data/lib/ruby_ptv_api/model/x_route/way_point.rb +30 -0
- data/lib/ruby_ptv_api/model/x_route/waypoint_desc.rb +28 -0
- data/lib/ruby_ptv_api/model/x_tour/abstract_costs.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/abstract_tour.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/abstract_tour_point.rb +16 -0
- data/lib/ruby_ptv_api/model/x_tour/abstract_tour_result.rb +38 -0
- data/lib/ruby_ptv_api/model/x_tour/abstract_transport_order.rb +11 -0
- data/lib/ruby_ptv_api/model/x_tour/abstract_vehicle.rb +14 -0
- data/lib/ruby_ptv_api/model/x_tour/base_vehicle.rb +30 -0
- data/lib/ruby_ptv_api/model/x_tour/capacities.rb +11 -0
- data/lib/ruby_ptv_api/model/x_tour/chain.rb +14 -0
- data/lib/ruby_ptv_api/model/x_tour/chain_result.rb +20 -0
- data/lib/ruby_ptv_api/model/x_tour/costs.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/depot.rb +8 -0
- data/lib/ruby_ptv_api/model/x_tour/distance_matrix_by_road.rb +12 -0
- data/lib/ruby_ptv_api/model/x_tour/distance_matrix_calculation.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/driver_settings.rb +17 -0
- data/lib/ruby_ptv_api/model/x_tour/fleet.rb +15 -0
- data/lib/ruby_ptv_api/model/x_tour/goal_importance.rb +44 -0
- data/lib/ruby_ptv_api/model/x_tour/interval.rb +15 -0
- data/lib/ruby_ptv_api/model/x_tour/loading_area.rb +13 -0
- data/lib/ruby_ptv_api/model/x_tour/loading_function.rb +16 -0
- data/lib/ruby_ptv_api/model/x_tour/logistic_point.rb +19 -0
- data/lib/ruby_ptv_api/model/x_tour/maximum_tour_period_restriction.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/plan.rb +13 -0
- data/lib/ruby_ptv_api/model/x_tour/plan_result.rb +21 -0
- data/lib/ruby_ptv_api/model/x_tour/planning_params.rb +23 -0
- data/lib/ruby_ptv_api/model/x_tour/product_incompatibility.rb +11 -0
- data/lib/ruby_ptv_api/model/x_tour/quantities.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/quantity_dependent_periods.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/regulations_base.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/restrictions.rb +13 -0
- data/lib/ruby_ptv_api/model/x_tour/seconds_per_quantity_unit.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_params.rb +12 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_plan.rb +13 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_plan_result.rb +16 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_tour.rb +13 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_tour_point.rb +16 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_tour_result.rb +38 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_transport_depot.rb +19 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_transport_order.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/sequencing_vehicle.rb +8 -0
- data/lib/ruby_ptv_api/model/x_tour/standard_params.rb +22 -0
- data/lib/ruby_ptv_api/model/x_tour/total_costs.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/tour.rb +26 -0
- data/lib/ruby_ptv_api/model/x_tour/tour_event.rb +14 -0
- data/lib/ruby_ptv_api/model/x_tour/tour_point.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/tour_point_result.rb +28 -0
- data/lib/ruby_ptv_api/model/x_tour/tour_restrictions.rb +13 -0
- data/lib/ruby_ptv_api/model/x_tour/tour_result.rb +17 -0
- data/lib/ruby_ptv_api/model/x_tour/tour_violations.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/trailer.rb +10 -0
- data/lib/ruby_ptv_api/model/x_tour/train.rb +26 -0
- data/lib/ruby_ptv_api/model/x_tour/transport_depot.rb +20 -0
- data/lib/ruby_ptv_api/model/x_tour/transport_order.rb +19 -0
- data/lib/ruby_ptv_api/model/x_tour/transport_point.rb +17 -0
- data/lib/ruby_ptv_api/model/x_tour/unscheduled_order_analysis_result.rb +15 -0
- data/lib/ruby_ptv_api/model/x_tour/vehicle.rb +27 -0
- data/lib/ruby_ptv_api/model/x_tour/vehicle_costs.rb +9 -0
- data/lib/ruby_ptv_api/model/x_tour/vehicle_restrictions.rb +11 -0
- data/lib/ruby_ptv_api/model/x_tour/vehicle_violations.rb +12 -0
- data/lib/ruby_ptv_api/operation/x_locate/base.rb +68 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_address.rb +26 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_address_by_text.rb +28 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_addresses.rb +27 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_combined_transport_by_location.rb +31 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_location.rb +26 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_locations.rb +27 -0
- data/lib/ruby_ptv_api/operation/x_locate/find_suggestion.rb +36 -0
- data/lib/ruby_ptv_api/operation/x_route/base.rb +25 -0
- data/lib/ruby_ptv_api/operation/x_route/calculate_reachable_objects.rb +38 -0
- data/lib/ruby_ptv_api/operation/x_route/calculate_route.rb +35 -0
- data/lib/ruby_ptv_api/operation/x_route/calculate_route_info.rb +33 -0
- data/lib/ruby_ptv_api/operation/x_tour/base.rb +24 -0
- data/lib/ruby_ptv_api/operation/x_tour/plan_basic_tours.rb +48 -0
- data/lib/ruby_ptv_api/operation/x_tour/plan_sequence.rb +52 -0
- data/lib/ruby_ptv_api/version.rb +3 -0
- data/lib/ruby_ptv_api/x_tour.rb +94 -0
- data/lib/ruby_ptv_api.rb +202 -0
- data/ruby_ptv_api.gemspec +32 -0
- metadata +331 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class SequencingTourResult < RubyPtvApi::Model::Base
|
5
|
+
property 'period'
|
6
|
+
property 'drivingPeriod'
|
7
|
+
property 'distance'
|
8
|
+
property 'distanceFromFirstToLastTransportPoint'
|
9
|
+
property 'maxDistanceBetweenTransportPoints'
|
10
|
+
property 'servicePeriod'
|
11
|
+
property 'restPeriod'
|
12
|
+
property 'breakPeriod'
|
13
|
+
property 'earliness'
|
14
|
+
property 'waitingPeriod'
|
15
|
+
property 'transportPointCount'
|
16
|
+
property 'startTime'
|
17
|
+
property 'startTimeLatest'
|
18
|
+
property 'coDriverRequired'
|
19
|
+
property 'totalCosts'
|
20
|
+
property 'pickupQuantities'
|
21
|
+
property 'deliveryQuantities'
|
22
|
+
property 'maxQuantities'
|
23
|
+
property 'depotUploadingPeriod'
|
24
|
+
property 'depotUnloadingPeriod'
|
25
|
+
property 'depotAvailabilityForDeliveries'
|
26
|
+
property 'depotAvailabilityForPickups'
|
27
|
+
property 'tourChanged'
|
28
|
+
property 'violations'
|
29
|
+
property 'remainingPeriods'
|
30
|
+
|
31
|
+
coerce_key :totalCosts, TotalCosts
|
32
|
+
coerce_key :pickupQuantities, Quantities
|
33
|
+
coerce_key :deliveryQuantities, Quantities
|
34
|
+
coerce_key :maxQuantities, Quantities
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class SequencingTransportDepot < SequencingTransportOrder
|
5
|
+
property 'transportPoint'
|
6
|
+
property 'pickupQuantities'
|
7
|
+
property 'deliveryQuantities'
|
8
|
+
property 'maxTransportPeriodForDeliveries'
|
9
|
+
property 'maxTransportPeriodForPickups'
|
10
|
+
property 'depotAvailabilityForDeliveries'
|
11
|
+
property 'depotAvailabilityForPickups'
|
12
|
+
|
13
|
+
coerce_key :transportPoint, TransportPoint
|
14
|
+
coerce_key :pickupQuantities, Quantities
|
15
|
+
coerce_key :deliveryQuantities, Quantities
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class StandardParams < PlanningParams
|
5
|
+
property 'startSequencingStep'
|
6
|
+
property 'constructionStep'
|
7
|
+
property 'middleSequencingStep'
|
8
|
+
property 'tourReductionStep'
|
9
|
+
property 'improvementStep'
|
10
|
+
property 'endSequencingStep'
|
11
|
+
property 'availableMachineTime'
|
12
|
+
property 'maximumNumberOfUnscheduledOrdersToBeAnalyzed'
|
13
|
+
property 'goalImportance'
|
14
|
+
property 'basicConstructionMethod'
|
15
|
+
property 'improvementMethod'
|
16
|
+
property 'sequencingMethod'
|
17
|
+
|
18
|
+
coerce_key :goalImportance, GoalImportance
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class Tour < AbstractTour
|
5
|
+
property 'id'
|
6
|
+
property 'description'
|
7
|
+
property 'trailerId'
|
8
|
+
property 'trainId'
|
9
|
+
property 'tourPointFixation', transform_with: ->(value) do
|
10
|
+
RubyPtvApi::Constant.validate(RubyPtvApi::Constant::TOUR_POINT_FIXATION, value)
|
11
|
+
end
|
12
|
+
property 'vehicleFixed'
|
13
|
+
property 'trailerFixed'
|
14
|
+
property 'areaNumber'
|
15
|
+
property 'ignoreIntermediatePeriodOfPreviousTour'
|
16
|
+
property 'restrictions'
|
17
|
+
property 'tourPoints'
|
18
|
+
property 'result'
|
19
|
+
|
20
|
+
coerce_key :restrictions, TourRestrictions
|
21
|
+
coerce_key :tourPoints, Array[TourPoint]
|
22
|
+
coerce_key :result, TourResult
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TourEvent < RubyPtvApi::Model::Base
|
5
|
+
property 'logisticPointId'
|
6
|
+
property 'startTime'
|
7
|
+
property 'period'
|
8
|
+
property 'descriptions'
|
9
|
+
property 'violations'
|
10
|
+
property 'tourIndex'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TourPointResult < RubyPtvApi::Model::Base
|
5
|
+
property 'orderId'
|
6
|
+
property 'arrivalTime'
|
7
|
+
property 'startServiceTime'
|
8
|
+
property 'endServiceTime'
|
9
|
+
property 'departureTime'
|
10
|
+
property 'drivingPeriod'
|
11
|
+
property 'waitingPeriod'
|
12
|
+
property 'servicePeriod'
|
13
|
+
property 'breakPeriodOnRoad'
|
14
|
+
property 'breakPeriodAtTourPoint'
|
15
|
+
property 'restPeriodOnRoad'
|
16
|
+
property 'restPeriodAtTourPoint'
|
17
|
+
property 'earliness'
|
18
|
+
property 'delay'
|
19
|
+
property 'startDistance'
|
20
|
+
property 'drivingDistance'
|
21
|
+
property 'currentQuantities'
|
22
|
+
property 'tourPointViolations'
|
23
|
+
|
24
|
+
coerce_key :currentQuantities, Quantities
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TourRestrictions < RubyPtvApi::Model::Base
|
5
|
+
property 'maxPeriod'
|
6
|
+
property 'maxDrivingPeriod'
|
7
|
+
property 'maxDistance'
|
8
|
+
property 'maxDistanceFromFirstToLastTransportPoint'
|
9
|
+
property 'maxDistanceBetweenTransportPoints'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TourResult < AbstractTourResult
|
5
|
+
property 'vehicleRequirements'
|
6
|
+
property 'vehicleExclusions'
|
7
|
+
property 'trainDescription'
|
8
|
+
property 'trailerDescription'
|
9
|
+
property 'maxLoadingArea'
|
10
|
+
property 'minLoadingArea'
|
11
|
+
|
12
|
+
coerce_key :maxLoadingArea, LoadingArea
|
13
|
+
coerce_key :minLoadingArea, LoadingArea
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class Train < RubyPtvApi::Model::Base
|
5
|
+
property 'id'
|
6
|
+
property 'description'
|
7
|
+
property 'vehicleIds'
|
8
|
+
property 'trailerIds'
|
9
|
+
property 'capacities'
|
10
|
+
property 'costs'
|
11
|
+
property 'dimaId'
|
12
|
+
property 'minLoadingArea'
|
13
|
+
property 'maxLoadingArea'
|
14
|
+
property 'category'
|
15
|
+
property 'drivingPeriodFactor'
|
16
|
+
property 'transportEquipments'
|
17
|
+
property 'maxTransportPointCountPerTour'
|
18
|
+
|
19
|
+
coerce_key :capacities, Capacities
|
20
|
+
coerce_key :costs, Costs
|
21
|
+
coerce_key :minLoadingArea, LoadingArea
|
22
|
+
coerce_key :maxLoadingArea, LoadingArea
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TransportDepot < TransportOrder
|
5
|
+
property 'depotIds'
|
6
|
+
property 'transportPoint'
|
7
|
+
property 'pickupQuantities'
|
8
|
+
property 'deliveryQuantities'
|
9
|
+
property 'maxTransportPeriodForDeliveries'
|
10
|
+
property 'maxTransportPeriodForPickups'
|
11
|
+
property 'depotAvailabilityForDeliveries'
|
12
|
+
property 'depotAvailabilityForPickups'
|
13
|
+
|
14
|
+
coerce_key :transportPoint , TransportPoint
|
15
|
+
coerce_key :pickupQuantities , Quantities
|
16
|
+
coerce_key :deliveryQuantities, Quantities
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TransportOrder < AbstractTransportOrder
|
5
|
+
property 'vehicleId'
|
6
|
+
property 'vehicleCategories'
|
7
|
+
property 'vehicleRequirements'
|
8
|
+
property 'vehicleExclusions'
|
9
|
+
property 'areaNumber'
|
10
|
+
property 'minLoadingArea'
|
11
|
+
property 'maxLoadingArea'
|
12
|
+
property 'trailerLoadingForbidden'
|
13
|
+
|
14
|
+
coerce_key :minLoadingArea, LoadingArea
|
15
|
+
coerce_key :maxLoadingArea, LoadingArea
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class TransportPoint < LogisticPoint
|
5
|
+
property 'tourSection', default: 0
|
6
|
+
property 'servicePeriod', default: 0
|
7
|
+
property 'useServicePeriodForRecreation', default: false
|
8
|
+
property 'allowServiceSplit', default: false
|
9
|
+
property 'openingIntervalConstraint', default: :START_OF_SERVICE, transform_with: ->(value) do
|
10
|
+
RubyPtvApi::Constant.validate(RubyPtvApi::Constant::OPENING_INTERVAL_CONTRAINT, value)
|
11
|
+
end
|
12
|
+
property 'areaNumberPosition'
|
13
|
+
property 'coDriverRequired', default: false
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class UnscheduledOrderAnalysisResult < RubyPtvApi::Model::Base
|
5
|
+
property 'orderId'
|
6
|
+
property 'status'
|
7
|
+
property 'vehicleViolations'
|
8
|
+
property 'tourViolations'
|
9
|
+
|
10
|
+
coerce_key :vehicleViolations, Array[VehicleViolations]
|
11
|
+
coerce_key :tourViolations, Array[TourViolations]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Model
|
3
|
+
module XTour
|
4
|
+
class Vehicle < BaseVehicle
|
5
|
+
property 'id'
|
6
|
+
property 'description'
|
7
|
+
property 'category'
|
8
|
+
property 'transportEquipments'
|
9
|
+
property 'areaNumbers'
|
10
|
+
property 'intermediatePeriod'
|
11
|
+
property 'startLocation'
|
12
|
+
property 'endLocation'
|
13
|
+
property 'restrictions'
|
14
|
+
property 'minLoadingArea'
|
15
|
+
property 'maxLoadingArea'
|
16
|
+
property 'ignoreIntermediatePeriodBeforeFirstTour'
|
17
|
+
|
18
|
+
coerce_key :startLocation , RubyPtvApi::Model::Point
|
19
|
+
coerce_key :endLocation , RubyPtvApi::Model::Point
|
20
|
+
coerce_key :restrictions , VehicleRestrictions
|
21
|
+
coerce_key :minLoadingArea, LoadingArea
|
22
|
+
coerce_key :maxLoadingArea, LoadingArea
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class Base < RubyPtvApi::Base
|
5
|
+
attr_reader :search_option_base_array, :sort_option_array, :result_field_array
|
6
|
+
|
7
|
+
def ptv_path
|
8
|
+
'xlocate/rs/XLocate'
|
9
|
+
end
|
10
|
+
|
11
|
+
def call(options: nil, sorting: nil, additional_fields: nil)
|
12
|
+
extra_params(options, sorting, additional_fields)
|
13
|
+
response = post(params)
|
14
|
+
parse_response(response)
|
15
|
+
end
|
16
|
+
|
17
|
+
def options=(opts)
|
18
|
+
raise 'Not implemented'
|
19
|
+
@search_option_base_array = opts
|
20
|
+
end
|
21
|
+
|
22
|
+
def options
|
23
|
+
@search_option_base_array || []
|
24
|
+
end
|
25
|
+
|
26
|
+
def sorting=(array)
|
27
|
+
raise "Required SortOption Model class" unless array.map{|k| k.is_a?(RubyPtvApi::Model::XLocate::SortOption)}.inject(:&)
|
28
|
+
@sort_option_array = array
|
29
|
+
end
|
30
|
+
|
31
|
+
def sorting
|
32
|
+
@sort_option_array || []
|
33
|
+
end
|
34
|
+
|
35
|
+
def additional_fields=(array)
|
36
|
+
check_additional_fields(array)
|
37
|
+
@result_field_array = array
|
38
|
+
end
|
39
|
+
|
40
|
+
def additional_fields
|
41
|
+
@result_field_array || []
|
42
|
+
end
|
43
|
+
|
44
|
+
def extra_params(opts, sort, fields)
|
45
|
+
self.options = opts if opts
|
46
|
+
self.sorting = sort if sort
|
47
|
+
self.additional_fields = fields if fields
|
48
|
+
end
|
49
|
+
|
50
|
+
protected
|
51
|
+
|
52
|
+
def response_class
|
53
|
+
RubyPtvApi::Model::XLocate::AddressResponse
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def check_additional_fields(values)
|
59
|
+
values.each do |value|
|
60
|
+
unless RubyPtvApi::Constant::RESULT_FIELD.include?(value.to_sym)
|
61
|
+
raise WrongParameterFormat.new("Value #{value} is not a additional fields accepted value #{RubyPtvApi::Constant::RESULT_FIELD}")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class FindAddress < RubyPtvApi::Operation::XLocate::Base
|
5
|
+
attr_reader :address
|
6
|
+
|
7
|
+
def initialize(address)
|
8
|
+
@address = address
|
9
|
+
end
|
10
|
+
|
11
|
+
def ptv_function
|
12
|
+
'findAddress'
|
13
|
+
end
|
14
|
+
|
15
|
+
def params
|
16
|
+
{
|
17
|
+
addr: address,
|
18
|
+
options: options,
|
19
|
+
sorting: sorting,
|
20
|
+
additionalFields: additional_fields
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class FindAddressByText < RubyPtvApi::Operation::XLocate::Base
|
5
|
+
attr_reader :text, :country
|
6
|
+
|
7
|
+
def initialize(text, country)
|
8
|
+
@text = text
|
9
|
+
@country = country
|
10
|
+
end
|
11
|
+
|
12
|
+
def ptv_function
|
13
|
+
'findAddressByText'
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
address: text,
|
19
|
+
country: country,
|
20
|
+
options: options,
|
21
|
+
sorting: sorting,
|
22
|
+
additionalFields: additional_fields
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class FindAddresses < RubyPtvApi::Operation::XLocate::Base
|
5
|
+
attr_reader :addresses
|
6
|
+
|
7
|
+
def initialize(addresses)
|
8
|
+
raise 'Use FindAddress for single address' unless addresses.is_a? Array
|
9
|
+
@addresses = addresses
|
10
|
+
end
|
11
|
+
|
12
|
+
def ptv_function
|
13
|
+
'findAddresses'
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
addrs: addresses,
|
19
|
+
options: options,
|
20
|
+
sorting: sorting,
|
21
|
+
additionalFields: additional_fields
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class FindCombinedTransportByLocation < RubyPtvApi::Operation::XLocate::Base
|
5
|
+
attr_reader :location
|
6
|
+
|
7
|
+
def initialize(location)
|
8
|
+
@location = location
|
9
|
+
end
|
10
|
+
|
11
|
+
def ptv_function
|
12
|
+
'findCombinedTransportByLocation'
|
13
|
+
end
|
14
|
+
|
15
|
+
def params
|
16
|
+
{
|
17
|
+
location: location,
|
18
|
+
options: options,
|
19
|
+
additionalFields: additional_fields
|
20
|
+
}
|
21
|
+
end
|
22
|
+
|
23
|
+
protected
|
24
|
+
|
25
|
+
def response_class
|
26
|
+
RubyPtvApi::Model::XLocate::CombinedTransportResponse
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class FindLocation < RubyPtvApi::Operation::XLocate::Base
|
5
|
+
attr_reader :location
|
6
|
+
|
7
|
+
def initialize(location)
|
8
|
+
@location = location
|
9
|
+
end
|
10
|
+
|
11
|
+
def ptv_function
|
12
|
+
'findLocation'
|
13
|
+
end
|
14
|
+
|
15
|
+
def params
|
16
|
+
{
|
17
|
+
location: location,
|
18
|
+
options: options,
|
19
|
+
sorting: sorting,
|
20
|
+
additionalFields: additional_fields
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module RubyPtvApi
|
2
|
+
module Operation
|
3
|
+
module XLocate
|
4
|
+
class FindLocations < RubyPtvApi::Operation::XLocate::Base
|
5
|
+
attr_reader :locations
|
6
|
+
|
7
|
+
def initialize(locations)
|
8
|
+
raise 'Use FindLocation for single address' unless locations.is_a? Array
|
9
|
+
@locations = locations
|
10
|
+
end
|
11
|
+
|
12
|
+
def ptv_function
|
13
|
+
'findLocations'
|
14
|
+
end
|
15
|
+
|
16
|
+
def params
|
17
|
+
{
|
18
|
+
location: locations,
|
19
|
+
options: options,
|
20
|
+
sorting: sorting,
|
21
|
+
additionalFields: additional_fields
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|