solidarity-transport/servers/grpc/proto/solidarity-transport.proto

111 lines
3.4 KiB
Protocol Buffer

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 {}