syntax = "proto3"; package screening.v1; service ScreeningService { rpc CreateScreening (CreateScreeningRequest) returns (CreateScreeningResponse); rpc GetScreening (GetScreeningRequest) returns (GetScreeningResponse); rpc GetScreenings (GetScreeningsRequest) returns (GetScreeningsResponse); rpc GetScreeningsByMovie (GetScreeningsByMovieRequest) returns (GetScreeningsByMovieResponse); } message CreateScreeningRequest { string movie_id = 1; string hall_id = 2; string start_at = 3; string end_at = 4; } message CreateScreeningResponse { bool ok = 1; } message GetScreeningRequest { string id = 1; } message GetScreeningResponse { Screening screening = 1; } message GetScreeningsRequest { optional string theater_id = 1; optional string date = 2; } message GetScreeningsResponse { repeated Screening screenings = 1; } message GetScreeningsByMovieRequest { string movie_id = 1; optional string date = 2; } message GetScreeningsByMovieResponse { repeated Screening screenings = 1; } message Screening { string id = 1; string start_at = 2; string end_at = 3; Theater theater = 4; Hall hall = 5; Movie movie = 6; repeated SeatType seat_types = 7; } message Movie { string id = 1; string title = 2; string slug = 3; int32 duration = 4; string banner = 5; } message Theater { string id = 1; string name = 2; string adress = 3; } message Hall { string id = 1; string name = 2; } message SeatType { string type = 1; int32 price = 2; }