Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Back-end - Display when a driver has available seats after a trip is assigned (or is willing to make multiple trips) #389

Closed
jkbits1 opened this issue Sep 19, 2018 · 6 comments
Assignees

Comments

@jkbits1
Copy link
Collaborator

jkbits1 commented Sep 19, 2018

There is an existing issue about new functionality #359 but this feature is not specified there

EDIT: this original comment is more of a distraction, so has been struck out

@jkbits1
Copy link
Collaborator Author

jkbits1 commented Sep 19, 2018

I've some ideas for this that aren't too difficult to implement and work with the system as it is now

EDIT: these ideas have been added, see comments below

@jkbits1
Copy link
Collaborator Author

jkbits1 commented Sep 20, 2018

The following issues relate to this
#265
#354
#335
#265

NOTE: there are two situations here - 1) drivers have multiple seats and a rider does not use them all. 2) a driver is booked for all seats but is willing to make multiple journeys in their time slot

@jkbits1 jkbits1 changed the title Back-end - Display when a driver has available seats after a trip is assigned Back-end - Display when a driver has available seats after a trip is assigned (or is willing to make multiple trips) Sep 20, 2018
@jkbits1
Copy link
Collaborator Author

jkbits1 commented Sep 20, 2018

Situation 1 - a driver with more than one seat available can be handled manually or by the system. Manual method - after a match is made, the operator can re-enter the driver details with the remaining seats (a hassle for the operator, true) System method - this could be done automatically or through an operator page notification in this way: the entry in the driver table could be updated after a match is accepted to adjust the seat count to be the amount needed by the rider. A new driver entry (with a new uuid) can be created with the seat count as the remaining seats.

This method also makes it possible for driver or operator to ignore or cancel the second or later rides without cancelling the first (although confusion is possible, perhaps)

@jkbits1
Copy link
Collaborator Author

jkbits1 commented Sep 20, 2018

Situation 2 - somewhat thinking aloud on this one but it seems possible to do this by simply changing some text on the front-end (especially now the operator is directing the system) if the method for Situation 1 is adopted. If the text is changed to suggest that the Seat count field represents either the precise seat count or a willingness to make multiple trips, the system will behave in a sensible and predictable way in both situations.

There are two big benefits here. 1) there are mininum system changes - less dev time and less testing 2) the driver is put in clear control of the situation by their own choices. For me, the latter is especially important. I am aware that other volunteers on Carpool Vote are keen to encourage drivers to make multiple trips (c.f. the related issues reference in a comment above) and it is certainly true that many drivers want to help as many riders as possible. However, this may not be true of all drivers, and other drivers may be willing but confused by multiple proposed rides without a clear explanation.

@stephenscapelliti
Copy link
Collaborator

stephenscapelliti commented Sep 21, 2018

Could we allow the driver to accept the additional riders and/or trips between the Start time and End time on the signup page, and also allow the driver to remove him/her/themself from availability for additional riders, through two separate options?

Example:
I am willing to consider multiple trips,
with a ☑️ box.

If the option is not selected (i.e., box not checked), the driver will be matched to the first rider location available and then removed from availability.
If the option is selected (i.e., box checked), the driver remains available for additional signups by others. If others sign up within the driver's availability window, notify the driver and provide the driver an option to manually accept those other rider locations, with an option to be removed from further availability (or just give the driver an option to select from all rider locations).

Example:
Rider #1, 135 Main Street at 1pm
Rider #2, 248 Main Street at 1:15pm
Rider #3, 250 Main Street at 3pm
Driver Unavailable
with a ☑️ box next to each.

Scenario 1 - Two or more separate riders (or rider groups) sign up at the same time. This could result in the driver combining both riders in a single trip (assuming the rider locations are convenient for the driver), or in transporting one set of riders from their pickup location to their destination and then returning to retrieve other matched riders. If the driver has selected the option to accept multiple trips/locations, the driver now can decided for him/her/themself how to map out the trip(s) and which of the riders to accept.

Scenario 2 - Two or more separate riders (or rider groups) in the same area sign up for different times. If the driver has selected the option for multiple trips, both would appear on the driver's list, and the driver would have the option of accepting multiple trips. Really not much different from Scenario 1.

In either Scenario, this would give control to the driver to decide best how to volunteer.

@jkbits1
Copy link
Collaborator Author

jkbits1 commented Oct 31, 2018

Fixed by #410 and voteamerica/backend#234

@stephenscapelliti it seems the system continues to propose matches to a driver after a match is confirmed, so that handles that part of things.

I've updated the operator page to show details for a driver with multiple matches, available seats etc.

However, a useful discussion to keep in the gitBook, perhaps 📖

@jkbits1 jkbits1 closed this as completed Oct 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants