wiki:CarShare

CarShareLogs -- logs of commmunications with the customer, and what we can derive from them.

CarShare Milestone 2 -- second milestone. triaged specification.

Full Specification

  • Login, Sign Up, Post Ride, and Search from the Front Page.
    • Prompt during sign-up for auto-population with details from your Facebook or Diaspora Social Media account.
  • Create and Edit a Profile:
    • Profile Picture
    • Name
    • Age Range (18-25, 25-30,30-40, 40-50, 50+)
    • Email Address
      • Opt in/out of mass emailings.
    • Vehicle Description
    • University
    • Connect to social network buttons.
      • Presents the option to automatically populate your details from Facebook or Diaspora.
      • Presents the option to prompt to post information about routes taken/provided to attached social media account.
  • Dashboard
    • From the dashboard, drivers and passengers have the ability to: Search, View, Edit, or Create a Route
      • "My Rides" -- view and edit your rides, with a 'Create new ride" button next ot the title. rides are sorted in order from the future to the past.
        • On a driver's ride to which no passengers are yet joined, all details will need to be editable, and the ride will need the option of being deleted.
        • On a ride that has passengers:
          • Cancelation is only acceptable 24 hours ahead of the trip.
            • upon cancelation, return money to the passengers' payment account
    • Send and Receive messages between users (MAY VIOLATE FACEBOOK TERMS OF SERVICE!).
    • View and edit payment account:
      • Adding funds should accept:
      • Withdraw funds should accept the same list of supported payment options.
      • Account keeps money 'in escrow'.
      • View their Payment, "Credit," Account balance.
      • View their Escrow, "Pending," Account Balance.
    • 'Action Items' should by stylized in order to emphasize Importance
  • In the interface(s) which we create Ride Listings, we need to do so from one stream-lined, sliding page. (STEP 1 >SLIDE> STEP2, etc.):
    • Step 1: User selects classification (Driver OR Passenger), origin, and destination.
      • If the poster is a driver, creating a route:
        • Step 2: Select the Calendar date and time of departure, expected time of arrival, and vehicle description.
          • Optionally: Select that there will be a return trip, with date and time.
          • Optionally: Create another departure, another return, etc.
        • Step 3: Specify per rider details, Fair Fare* based on distance of route and number of seats available.
          • Step 3a: If the user has bound social network account(s), prompt to cross post about the availability of this route to those accounts.
      • If the poster is a passenger, searching a route:
        • Allow search for rides based on Origin, destination, Departure Date, and Arrival date.
          • List rides initially sorted by departing soonest to latest, and for each day by the distance out of the way to pickup passenger and the time to pickup the passenger. (closest to furthest).
          • Allow search refinement by time, availability of return trip.
          • Once a drive has been selected,
            • Acecpt Cancellation & Refund Policy (This is done ONLY ONCE via a pop-up screen the first time they make an offer.)
            • Passenger pays amount due by deducting it from the passenger's ride payment account. If there is insufficient funds in their payment account, send the user to their payment account to reload.
            • After successfully deducting the credit from the passenger's payment account, the passenger is added to the driver's ride. The driver will not receive credit for the ride until 24 hours after the ride is completed.
            • If the user has bound social network account(s), prompt to cross post about taking this route to those accounts.
  • Features during the ride:
    • When the user is in the time window of a ride:
      • A simplified interface for cell phone usage should be the default.
        • A user should be able to quickly check in/out of a ride,
          • The Software will prompt the user to cross-site post to a supported social network with the message, "I'm traveling from Point A to Point B on www.yourwebsite.com!" or "i made it from Point A to Point B on www.yourwebsite.com!"
      • A link should be available to bring them to the full interface.
  • Geocoding API
    • Geocoding API pulls latitude and longitude of a source or destination based on address or street intersection.
  • Administration Panel:
    • pending transactions (requests for monies cashed out of user's Escrow account).
    • Mass email interface.
      • Needs to allow the administrator to edit templates for emails to be sent in the following events:
        • Welcome to CarMah?! Email.
        • Passenger Confirmation Email.
        • Driver Route Confirmation Email.
        • Passenger to Driver Notification of Reservation Email.
      • Notification emails will be sent to the administrator to confirm a cashout.
    • User Administration (add/remove/ban)
    • Rides Administration (add/remove)
    • Fee Administration
      • Set Service Fee to withhold in Escrow.
      • PayPal? -- $1.75 Default Processing Fee
      • Starbucks -- 5% Default Processing Fee
      • Amazon -- 8% Default Processing Fee
      • Set Tax rate on Service Fee. (initially 13%)

Formulae

  • Departing Trip Price + Returning Trip Price + Service Fee = Total (This appies to intra-escrow transactions)
    • The Service fee is the processing fee of the transaction + tax applicable to the fee only. (This applies to Escrow transfers into and out of the user's Payment Account)

Equations

  • Fair Fare (F)
    • If Parking and/or Toll
      • F = 0.4*(Parking + Toll) + 0.1*(dist in km)
    • If no Parking or Toll
      • F = 0.15(dist in km)
    • Minimum ride is $5
  • To determine the drive distance, the hypotenuse of the triangle must be calculated.
    • The hypotenuse = (((((Latitude1 - Latitude2)*110.5)2)+(((Longitude 1 - Longitude2)*84.5)2)))0.5
    • The drive distance = (Hypotenuse*(0.4795*EXP(-0.0138*Hypotenuse)))+Hypotenuse

FIXMES

  • Are users required to have any profile information?
  • Which fields do we get to populate from which social networks?
  • Vehicle type, vehicle description, etc? which is it, and is it a text field, makke and model... what?
  • Define what the term 'in escrow' means for this site. when exactly is money added or removed? what is the difference between their "payment, credit" and "escrow, pending" balances?
  • Define 'action item'.
  • cleanup default ride search ordering.
  • define the functions of checkin to ride / checkout of ride. is this just for saftey?
  • where does the geocode API get any data?
  • do we need to implement ride feedback? where should it be visible? is a driver profile available from the 'search' function? even for non-logged-in users?
  • how much of the driver profile is available to other users? not the email, obviously...
Last modified 6 years ago Last modified on 08/29/13 04:59:27