initial commit
This commit is contained in:
37
storage/trips.go
Normal file
37
storage/trips.go
Normal file
@@ -0,0 +1,37 @@
|
||||
package storage
|
||||
|
||||
import (
|
||||
"github.com/paulmach/orb"
|
||||
"github.com/paulmach/orb/geojson"
|
||||
)
|
||||
|
||||
type RegularTrip struct {
|
||||
Id string `bson:"_id"`
|
||||
GroupId string `bson:"group_id"` // Identifier to group trips together (for example "outward and return", or "driver and passenger" trips) : trips created in a same "CreateTrips" function will have the same group_id
|
||||
User User `bson:"user"`
|
||||
Departure *geojson.Feature `bson:"departure"` // GeoJSON feature of the departure (geometry must be of type "Point")
|
||||
Arrival *geojson.Feature `bson:"arrival"` // GeoJSON feature of the destination (geometry must be of type "Point")
|
||||
EncodedPolyline string `bson:"encoded_polyline"` // Polyline encoded (Google Polyline Algorithm) string (should be 5 digits representation)
|
||||
DecodedPolyline orb.LineString `bson:"decoded_polyline"` // geometry of the linestring/polyline describing the trip route
|
||||
Schedules []Schedule `bson:"schedules"`
|
||||
|
||||
Properties map[string]any `bson:"properties"` // Properties map for flexible parameters to be set by the application implementing this service
|
||||
|
||||
Removed bool // Trip was removed, do not consider it
|
||||
}
|
||||
|
||||
type Schedule struct {
|
||||
Day string `bson:"day"`
|
||||
TimeOfDay string `bson:"time_of_day"`
|
||||
}
|
||||
|
||||
type User struct {
|
||||
Id string `bson:"_id"`
|
||||
Alias string `bson:"alias"`
|
||||
FirsName *string `bson:"first_name,omitempty"`
|
||||
LastName *string `bson:"last_name,omitempty"`
|
||||
Grade *int64 `bson:"grade,omitempty"`
|
||||
Picture *string `bson:"picture,omitempty"`
|
||||
Gender *string `bson:"gender,omitempty"`
|
||||
VerifiedIdentity *bool `bson:"verified_identity,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user