syntax = "proto3"; option go_package = "git.coopgo.io/coopgo-platform/solidarity-service/servers/grpc/proto"; import "google/protobuf/timestamp.proto"; import "solidarity-api-types.proto"; service SolidarityService { rpc SetDriverRegularAvailabilities(DriverRegularAvailabilities) returns (DriverAvailabilitiesResponse) {} rpc SetDriverPunctualAvailabilities(DriverPunctualAvailabilities) returns (DriverAvailabilitiesResponse) {} rpc CreateBooking(CreateBookingRequest) returns (CreateBookingResponse) {} rpc UpdateBooking(UpdateBookingRequest) returns (UpdateBookingResponse) {} rpc GetBooking(GetBookingRequest) returns (GetBookingResponse) {} rpc GetBookingsByStatus(GetBookingsByStatusRequest) returns (GetBookingsByStatusResponse) {} rpc DriverJourneys(DriverJourneysRequest) returns (DriverJourneysResponse) {} rpc SetPassengerTrip(PassengerTripRequest) returns (PassengerTripResponse) {} } message PassengerTripRequest{ Feature passenger_departure_address = 1; Feature passenger_destination_address = 2; google.protobuf.Timestamp passenger_pickup_date = 3; User passenger = 4; optional Preferences preferences = 5; } message DriverRegularAvailabilities{ DriverRequest driver_request = 1; repeated RegularAvailabilitySlot driver_availabilities = 2; } message DriverPunctualAvailabilities{ DriverRequest driver_request = 1; repeated PunctualAvailabilitySlot driver_availabilities = 2; } message PassengerTripResponse { bool success = 1; optional string message = 2; } message DriverAvailabilitiesResponse { bool success = 1; optional string message = 2; } message CreateBookingRequest { BookingRequest booking = 1; } message CreateBookingResponse { Booking booking = 1; } message UpdateBookingRequest { string booking_id = 1; BookingStatus status = 2; optional string message = 3; } message UpdateBookingResponse { bool success = 1; optional string message = 2; } message GetBookingRequest { string booking_id = 1; } message GetBookingResponse { Booking booking = 1; } message GetBookingsByStatusRequest{ BookingStatus status = 1; UserType type = 2; string user_id = 3; } message DriverJourneysRequest { Feature departure = 1; google.protobuf.Timestamp departure_date = 2; } message DriverJourneysResponse { repeated DriverJourney driver_journeys = 1; } message GetBookingsByStatusResponse{ repeated Booking booking = 1; }