Create a Ride
A user creates a ride to plan a motorcycle trip and invite others to join.
Who Can Do This
Subscribers only. Free users cannot create rides. A free user can inherit ride ownership via Transfer Ownership if they have at least one free quota slot remaining, but they cannot initiate ride creation. See Access Policy.
Steps
- Choose the ride type: private, public. A ride created from within a group is automatically a group ride. For group rides, also choose the visibility: private (group members only, default) or public (also appears in Discovery for all users).
- Enter a title and optional description.
- Set the start date and time, and the end date and time.
- Select the origin (starting point) and destination.
- Optionally add breakpoints — meeting points, halt points, fuel stations, restaurants, additional destinations, or other stops.
- Review the route displayed on the map. If multiple route options are available, select the preferred one.
- Optionally set a poster image. If the destination has a Google Place ID, its Google Maps photo is used as the default. If the destination is a custom location (no Place ID), no default poster image is set. The creator can always upload their own image regardless.
- Configure settings: whether RSVP approval is required, and the maximum number of riders (optional). Defaults: approval off for private rides (standalone and private group rides), approval on for public rides, 50-rider cap for all ride types (the creator is excluded from this cap).
- Submit to create the ride.
Note: Selection of origin, destination, and breakpoints is done through an autocomplete search box powered by the Google Places API. The user can select from the suggested places or enter a custom location (no Place ID). Custom locations are fully supported — route computation and time-zone derivation use the coordinates regardless of whether a Place ID is present. The ride is plotted on the map based on the selected locations, and the route is calculated accordingly. During ride creation, the user can also rearrange or remove breakpoints as needed. The underlying data model supports up to 8 breakpoints in total (including origin and destination) due to Google Maps limitations.
Rules
- Origin and destination are required. All other breakpoints are optional.
- No more than 8 breakpoints total (Google Maps limit).
- All date and time constraints (future check, same calendar day, max scheduling horizon) are evaluated in the time zone of the ride's origin location. This applies uniformly to all participants regardless of their device's local time zone. If time-zone data cannot be resolved for the selected origin coordinates (e.g. a point in a body of water), the location is rejected and the creator must choose a valid on-land location.
- Start date and time must be in the future and within the platform's max scheduling horizon (default: 1 month from today). This limit is operator-configurable via Global Settings.
- Start and end date must be the same calendar day in the origin's time zone. Multi-day rides are not supported.
- End time must be after start time with a minimum duration of 2 hours. The maximum duration is just under 24 hours (same-day constraint).
- Title: 10–100 characters. Description: 10–400 characters.
- Location titles: 3–100 characters.
- The creator is automatically set as the ride owner. Owners hold full management rights over their ride regardless of subscription status — the separate admin role (granted to other participants) is subscriber-only and is distinct from ownership.
- Private ride: discoverable only by users who have the ride link.
- Public ride: discoverable by all users through search and discovery.
- Private group ride: visible only to group members. Non-members cannot access or RSVP on the app even with a share link.
- Public group ride: also discoverable by all users through Discovery.
- When
maxRidersis set to0, there is no rider limit. - The creator does not consume a
maxRidersslot. - The creator must be a member of the group to create a group ride.
- No rides can be created in a group that is archived or read-only (owner lapsed). See Frozen (owner lapsed).
What Happens Next
The ride is created and the creator can share the link (for private rides) or the ride appears in discovery (for public rides) or the group feed (for group rides).
Failure Cases
- Not a subscriber: free users cannot create rides. The create option is not available to free users.
- Per-subscriber cap reached: the user already owns 4 active rides (
draft,upcoming, oron-going) across all their rides. They must wait for one to complete or delete one before creating another. See Ride Cap. - Per-group cap reached (group rides only): the group already has 4 active rides regardless of who created them. No new rides can be created in the group until one completes or is deleted. See Ride Cap.
- Not a group member: the user attempted to create a ride in a group they are not a member of.
- Group not accepting rides: the group is archived or read-only (owner lapsed); no new rides can be created until it returns to active.
- No route available: no drivable route can be computed between the chosen locations (e.g. across water or unreachable roads). The ride cannot be created until the locations are changed.
- Missing required fields: origin, destination, or time fields are not provided.
- Invalid time range: end time is not at least 2 hours after start time, or start and end dates are not the same calendar day.
- Start date too far in the future: start date exceeds the max scheduling horizon (default: 1 month).
- Origin time zone unresolvable: the coordinates of the selected origin location do not map to a valid time zone (e.g. a point in open water). The creator must select a valid on-land origin.
Status: partially-live. Backend API is complete. The ride creation form in the frontend has a UI skeleton but location search and route selection are not yet implemented.