/* * Solidarity Mobility API * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * API version: 1.0.0 * Generated by: OpenAPI Generator (https://openapi-generator.tech) */ package openapi type Booking struct { // Booking id is common between both operators, and must be created as a [UUID](https://datatracker.ietf.org/doc/html/rfc4122) by whoever initiates the booking. Usage of a [4 UUID](https://datatracker.ietf.org/doc/html/rfc4122#section-4.4) generation algorithm is advised. Id string `json:"id"` Driver User `json:"driver"` Passenger User `json:"passenger"` // Passenger pickup datetime as a UNIX UTC timestamp in seconds. PassengerPickupDate int32 `json:"passengerPickupDate"` // Latitude of the passenger pick-up point. PassengerPickupLat float64 `json:"passengerPickupLat"` // Longitude of the passenger pick-up point. PassengerPickupLng float64 `json:"passengerPickupLng"` // Latitude of the passenger drop-off point. PassengerDropLat float64 `json:"passengerDropLat"` // Longitude of the passenger drop-off point. PassengerDropLng float64 `json:"passengerDropLng"` // String representing the pickup-up address. PassengerPickupAddress string `json:"passengerPickupAddress,omitempty"` // String representing the drop-off address. PassengerDropAddress string `json:"passengerDropAddress,omitempty"` Status BookingStatus `json:"status"` // Carpooling duration in seconds. Duration int32 `json:"duration,omitempty"` // Carpooling distance in meters. Distance int32 `json:"distance,omitempty"` Price Price `json:"price"` Car Car `json:"car,omitempty"` } // AssertBookingRequired checks if the required fields are not zero-ed func AssertBookingRequired(obj Booking) error { elements := map[string]interface{}{ "id": obj.Id, "driver": obj.Driver, "passenger": obj.Passenger, "passengerPickupDate": obj.PassengerPickupDate, "passengerPickupLat": obj.PassengerPickupLat, "passengerPickupLng": obj.PassengerPickupLng, "passengerDropLat": obj.PassengerDropLat, "passengerDropLng": obj.PassengerDropLng, "status": obj.Status, "price": obj.Price, } for name, el := range elements { if isZero := IsZeroValue(el); isZero { return &RequiredError{Field: name} } } if err := AssertUserRequired(obj.Driver); err != nil { return err } if err := AssertUserRequired(obj.Passenger); err != nil { return err } if err := AssertPriceRequired(obj.Price); err != nil { return err } if err := AssertCarRequired(obj.Car); err != nil { return err } return nil } // AssertBookingConstraints checks if the values respects the defined constraints func AssertBookingConstraints(obj Booking) error { return nil }