Skip to main content

Overview

Booking a ride with Viax is simple and intuitive. This guide walks you through the process of requesting a trip, selecting vehicle types, and confirming your booking.

Ride Booking Process

1

Open the app and set your location

Launch the Viax app and allow location permissions. The app will automatically detect your current location using GPS.
Make sure you have location services enabled for accurate pickup positioning.
2

Enter destination

Tap the destination field and search for your desired location. You can:
  • Type an address
  • Select from recent destinations
  • Choose a saved location
  • Drop a pin on the map
The app uses geocoding to convert addresses to coordinates for accurate routing.
3

Select vehicle type

Choose from available vehicle options:

Moto

Quick and affordable for solo riders

Carro

Comfortable ride for up to 4 passengers

Moto Carga

Small package delivery

Carro Carga

Larger cargo transport
4

Review price estimate

View the estimated fare based on:
  • Base fare for the vehicle type
  • Distance to destination
  • Estimated time
  • Current demand (surge pricing if applicable)
{
  "base_fare": 3500,
  "distance_cost": 2400,
  "time_cost": 1500,
  "surge_multiplier": 1.0,
  "total_estimate": 7400
}
See Pricing System for detailed fare calculation.
5

Confirm booking

Review all details and tap “Request Ride”. The app will:
  • Search for nearby available drivers
  • Send your request to the closest driver
  • Show searching status with estimated wait time
6

Wait for driver acceptance

Once a driver accepts:
  • You’ll see driver details (name, photo, rating)
  • Vehicle information (type, plate number)
  • Estimated arrival time
  • Real-time driver location on map
You can contact the driver directly through the app if needed.

Trip Request Data

When you confirm a booking, the app sends this information to the backend:
// lib/src/features/trips/data/models/trip_request_model.dart
class TripRequestModel {
  final String userId;
  final LatLng pickupLocation;
  final LatLng destinationLocation;
  final String pickupAddress;
  final String destinationAddress;
  final String vehicleType;
  final double estimatedDistance;
  final int estimatedDuration;
  final double estimatedPrice;
  
  Map<String, dynamic> toJson() => {
    'user_id': userId,
    'pickup_lat': pickupLocation.latitude,
    'pickup_lng': pickupLocation.longitude,
    'destination_lat': destinationLocation.latitude,
    'destination_lng': destinationLocation.longitude,
    'pickup_address': pickupAddress,
    'destination_address': destinationAddress,
    'vehicle_type': vehicleType,
    'estimated_distance': estimatedDistance,
    'estimated_duration': estimatedDuration,
    'estimated_price': estimatedPrice,
  };
}

Vehicle Type Selection

Viax offers different vehicle categories to suit your needs:
Motorcycle
  • Capacity: 1 passenger
  • Base fare: $3,000 COP
  • Best for: Quick solo trips
  • Average speed: Higher in traffic

Finding Nearby Drivers

The platform uses geolocation to find available drivers near your pickup location:
// Radius search for nearby drivers
final nearbyDrivers = await tripRepository.findNearbyDrivers(
  location: pickupLocation,
  radius: 5000, // 5km radius
  vehicleType: selectedVehicleType,
);
If no drivers are available in your area, you’ll receive a notification. Try again in a few minutes or consider selecting a different vehicle type.

Payment Methods

Before confirming your ride, ensure you have a payment method configured:
  • Cash (pay driver directly)
  • Credit/debit card (future feature)
  • Digital wallet integration (planned)
See Payment Methods for more details.

Cancellation Policy

You can cancel a ride before the driver arrives:
  • Free cancellation: Within 2 minutes of booking
  • Cancellation fee: After 2 minutes or if driver is en route
  • Fee amount varies by vehicle type and distance traveled by driver

Safety Features

While booking and during your trip:

Share Location

Share your trip with friends or family in real-time

Driver Verification

All drivers are verified with background checks and document validation

In-App Support

Contact support directly from the app during your trip

Trip Tracking

Real-time GPS tracking throughout your journey

Common Issues

This can happen in:
  • Low-density areas
  • Peak hours when demand is high
  • Late night hours
Solutions:
  • Wait a few minutes and try again
  • Check if drivers are available for a different vehicle type
  • Consider scheduling a ride in advance (if feature is available)
Price estimates update in real-time based on:
  • Current traffic conditions
  • Demand in your area
  • Route changes
The final price is locked when a driver accepts your request.
Check the app for:
  • Driver’s current location on map
  • Updated ETA
  • Traffic conditions
You can:
  • Contact the driver via in-app messaging
  • Cancel and request another driver (fees may apply)
  • Contact support if there’s an issue

Next Steps

Track Your Trip

Learn about real-time trip tracking features

Pricing System

Understand how trip fares are calculated

Build docs developers (and LLMs) love