मांग पर मिलने वाली यात्राओं के लिए, Fleet Engine में वाहन बनाने के लिए, CreateVehicle
के साथ CreateVehicleRequest
एंडपॉइंट का इस्तेमाल करें. इस एंडपॉइंट के लिए, आपके पास Fleet Engine के ऑन-डिमांड एडमिन की भूमिका वाला खाता होना चाहिए.
मांग पर मिलने वाली यात्रा के लिए वाहनों के फ़ील्ड
मांग पर मिलने वाली यात्राओं के लिए वाहन बनाते समय, आपको ज़रूरी फ़ील्ड सेट करने होंगे. आपको यह भी पता होना चाहिए कि वाहन के कुछ फ़ील्ड, Fleet Engine की अन्य सुविधाओं पर कैसे असर डालते हैं. इसके लिए, वाहन के फ़ील्ड अपडेट करना लेख पढ़ें.
ऑन-डिमांड यात्राओं के लिए ज़रूरी फ़ील्ड
vehicle_state
: डिफ़ॉल्ट रूप से 'जानकारी नहीं है' पर सेट होता है. हालांकि, इसे ऑनलाइन या ऑफ़लाइन पर सेट किया जाना चाहिए. वाहन के फ़ील्ड अपडेट करें में, वाहन की स्थिति वाले फ़ील्ड को सेट करने के बारे में जानकारी देखें.supported_trip_types
: डिफ़ॉल्ट रूप से, इसकी वैल्यू 'जानकारी नहीं है' पर सेट होती है. हालांकि, इसे SHARED, EXCLUSIVE या दोनों पर सेट किया जाना चाहिए. ज़्यादा जानकारी के लिए, ऑन-डिमांड यात्राएं के लिए बनी गाइड में यात्रा के टाइप देखें.maximum_capacity
: वाहन में बैठने वाले यात्रियों की संख्या. इसमें ड्राइवर शामिल नहीं है.vehicle_type
: वैल्यूAUTO
,TAXI
,TRUCK
,TWO_WHEELER
,BICYCLE
याPEDESTRIAN
हो सकती हैं. इसका इस्तेमाल, वाहन खोजने के लिए वाहनों को फ़िल्टर करने के लिए किया जा सकता है. इससे ईटीए और रास्ते के हिसाब लगाने पर भी असर पड़ता है. Fleet Engine, वाहन के इन टाइप के ग्रुप के आधार पर, यात्रा के तरीके के हिसाब से रास्ते और यात्रा के समय का हिसाब लगाता है:AUTO
,TAXI
याTRUCK
: उदाहरण के लिए, हाइवे.TWO_WHEELER
: उदाहरण के लिए, ऐसे रास्ते नहीं दिखाए जाएंगे जहां दोपहिया वाहनों को अनुमति नहीं है.BICYCLE
: उदाहरण के लिए, साइकल के लिए रास्ते.PEDESTRIAN
: उदाहरण के लिए, सिर्फ़ पैदल चलने के लिए बने ब्रिज और रास्ते.
अन्य फ़ील्ड
वाहन बनाते समय सेट किए जा सकने वाले अन्य फ़ील्ड के बारे में जानने के लिए, वाहन के फ़ील्ड अपडेट करना लेख पढ़ें.
वाहन बनाने का उदाहरण
CreateVehicle
से मिली वैल्यू, बनाई गई Vehicle
इकाई है.
Java
static final String PROJECT_ID = "project-id";
VehicleServiceBlockingStub vehicleService =
VehicleService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Vehicle vehicle = Vehicle.newBuilder()
.setVehicleState(VehicleState.OFFLINE) // Initial state
.addSupportedTripTypes(TripType.EXCLUSIVE)
.setMaximumCapacity(4)
.setVehicleType(VehicleType.newBuilder().setCategory(VehicleType.Category.AUTO))
.addAttributes(VehicleAttribute.newBuilder()
.setKey("on_trip").setValue("false")) // Opaque to the Fleet Engine
// Add .setBackToBackEnabled(true) to make this vehicle eligible for trip
// matching while even if it is on a trip. By default this is disabled.
.build();
CreateVehicleRequest createVehicleRequest =
CreateVehicleRequest.newBuilder() // no need for the header
.setParent(parent)
.setVehicleId("vid-8241890") // Vehicle ID assigned by Rideshare or Delivery Provider
.setVehicle(vehicle) // Initial state
.build();
// In this case, the Vehicle is being created in the OFFLINE state and
// no initial position is being provided. When the Driver App checks
// in with the Rideshare or Delivery Provider, the state can be set to ONLINE and
// the Driver App will update the Vehicle Location.
try {
Vehicle createdVehicle =
vehicleService.createVehicle(createVehicleRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
// If no Exception, Vehicle created successfully.
REST
curl -X POST \
"https://fleetengine.googleapis.com/v1/providers/project-id/vehicles?vehicleId=vid-8241890" \
-H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
--data-binary @- << EOM
{
"vehicleState": "OFFLINE",
"supportedTripTypes": ["EXCLUSIVE"],
"maximumCapacity": 4,
"vehicleType": {"category": "AUTO"},
"attributes": [{"key": "on_trip", "value": "false"}]
}
EOM
providers.vehicles.create रेफ़रंस देखें.