syntax = "proto3"; option go_package = "git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/proto/gen"; import "google/protobuf/timestamp.proto"; import "solidarity-transport-types.proto"; service SolidarityTransport { //Availabilities management rpc AddDriverRegularAvailability(AddDriverRegularAvailabilityRequest) returns (AddDriverRegularAvailabilityResponse) {} rpc AddDriverRegularAvailabilities(AddDriverRegularAvailabilitiesRequest) returns (AddDriverRegularAvailabilitiesResponse) {} rpc GetDriverRegularAvailabilities(GetDriverRegularAvailabilitiesRequest) returns (GetDriverRegularAvailabilitiesResponse) {} rpc DeleteDriverRegularAvailability(DeleteDriverRegularAvailabilityRequest) returns (DeleteDriverRegularAvailabilityResponse) {} // Search / Journeys rpc GetDriverJourneys(GetDriverJourneysRequest) returns (GetDriverJourneysResponse) {} rpc GetDriverJourney(GetDriverJourneyRequest) returns (GetDriverJourneyResponse) {} // Booking flows rpc BookDriverJourney(BookDriverJourneyRequest) returns (BookDriverJourneyResponse) {} rpc GetSolidarityTransportBookings(GetSolidarityTransportBookingsRequest) returns (GetSolidarityTransportBookingsResponse) {} rpc GetSolidarityTransportBooking(GetSolidarityTransportBookingRequest) returns (GetSolidarityTransportBookingResponse) {} rpc UpdateSolidarityTransportBookingStatus(UpdateSolidarityTransportBookingStatusRequest) returns (UpdateSolidarityTransportBookingStatusResponse) {} } message AddDriverRegularAvailabilityRequest{ string driver_id = 1; int32 day = 2; string start_time = 3; string end_time = 4; GeoJsonFeature address = 5; } message AddDriverRegularAvailabilityResponse{} message AddDriverRegularAvailabilitiesRequest{ repeated DriverRegularAvailability availabilities = 1; } message AddDriverRegularAvailabilitiesResponse{} message GetDriverRegularAvailabilitiesRequest { string driver_id = 1; } message GetDriverRegularAvailabilitiesResponse { repeated DriverRegularAvailability results = 1; } message DeleteDriverRegularAvailabilityRequest { string driver_id = 1; string availability_id = 2; } message DeleteDriverRegularAvailabilityResponse {} // Search / Journeys message GetDriverJourneysRequest { GeoJsonFeature departure = 1; GeoJsonFeature arrival = 3; google.protobuf.Timestamp departure_date = 5; optional int64 time_delta = 6; } message GetDriverJourneysResponse { repeated SolidarityTransportDriverJourney driver_journeys = 1; } message GetDriverJourneyRequest { string driver_id = 1; string journey_id = 2; } message GetDriverJourneyResponse { SolidarityTransportDriverJourney driver_journey = 1; } message BookDriverJourneyRequest { string passenger_id = 1; string driver_id = 2; string driver_journey_id = 3; } message BookDriverJourneyResponse { } message GetSolidarityTransportBookingsRequest { google.protobuf.Timestamp start_date = 1; google.protobuf.Timestamp end_date = 2; } message GetSolidarityTransportBookingsResponse { repeated SolidarityTransportBooking bookings = 1; } message GetSolidarityTransportBookingRequest { string id = 1; } message GetSolidarityTransportBookingResponse { SolidarityTransportBooking booking = 1; } message UpdateSolidarityTransportBookingStatusRequest { string booking_id = 1; string new_status = 2; } message UpdateSolidarityTransportBookingStatusResponse {}