Book Seat (Driver Trip)
Book one or more seats on a driver-created trip. Supports multiple payment methods including cash, wallet, Moyasar, and bank transfer.Two versions available:
/api/trips/{tripId}/book-seat- JSON body (legacy)/api/v1/trips/{tripId}/book-seat- Form data with image upload support
Endpoint
POST
/api/trips/{tripId}/book-seat (JSON) or /api/v1/trips/{tripId}/book-seat (Form Data)Trip identifier
Request Body (JSON Version)
Passenger identifier
Number of seats to book (1-100)
Payment method:
Cash, Wallet, Moyasar, BankTransfer (default: Cash)Bank transfer details (required if paymentMethod is
BankTransfer)Request Body (Form Data Version)
Passenger identifier
Number of seats to book
Payment method
Bank account ID (required for bank transfer)
Transfer note (required for bank transfer)
Receipt image file (JPG, JPEG, PNG, GIF, WEBP). Max size: 10MB. Required for bank transfers.
Response
Indicates if booking was successful
Success or error message in Arabic
Unique booking identifier
Total booking cost
Booking creation timestamp
Price currency code
Whether payment is required (true for Moyasar)
Moyasar payment order ID (for Moyasar payments)
Moyasar publishable key (for Moyasar payments)
Create Company Trip Booking
Create a booking for a company trip route. Passenger specifies exact pickup/dropoff locations and trip date/time.Endpoint
POST
/api/trips/{tripId}/bookingsCompany trip route identifier
Request Body (Form Data)
Desired trip date and time in UTC (ISO 8601 format)
Pickup location latitude
Pickup location longitude
Detailed pickup address
Dropoff location latitude
Dropoff location longitude
Detailed dropoff address
Payment method:
Cash, Wallet, Moyasar, BankTransfer (default: Cash)Company bank account ID (required if paymentMethod is
BankTransfer)Transfer note or reference (for bank transfer)
Bank transfer receipt image (JPG, JPEG, PNG, GIF, WEBP, PDF). Max size: 10MB.
Response
Indicates if booking was created successfully
Success or error message
Booking details
Accept Booking
Driver accepts a pending booking request.Endpoint
POST
/api/bookings/{bookingId}/acceptBooking identifier
Request Body
Driver identifier
Optional notes from driver
Optional reason for acceptance
Response
Indicates if booking was accepted
Result message
Booking identifier
New booking status (typically “Confirmed”)
Reject Booking
Driver rejects a pending booking request.Endpoint
POST
/api/bookings/{bookingId}/rejectRequest Body
Driver identifier
Reason for rejection
Response
Indicates if booking was rejected
Result message
Booking identifier
New booking status (typically “Rejected”)
Cancel Booking
Passenger cancels their own booking.Endpoint
POST
/api/bookings/{bookingId}/cancelRequest Body
Passenger identifier
Cancellation reason
Response
Indicates if cancellation succeeded
Result message in Arabic
Booking identifier
New booking status (typically “Cancelled”)
Get Driver Bookings
Retrieve all bookings for a specific driver, optionally filtered by status.Endpoint
GET
/api/drivers/{driverId}/bookingsDriver identifier
Query Parameters
Filter by booking status (e.g., “Pending”, “Confirmed”, “Cancelled”)
Response
Indicates if request succeeded
Result message
Array of booking objects