Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalized measurement types for lengths and weights #6

Merged
merged 2 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions proto/cmp/services/accommodation/v1alpha1/list.proto
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ message AccommodationProductListResponse {

// ### Accommodation Product List Service
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/list.proto.dot.xs.svg)
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/list.proto.dot.svg)
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v1alpha1/list.proto.dot.xs.svg)
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v1alpha1/list.proto.dot.svg)
service AccommodationProductListService {
// Returns product list for accommodation (properties)
rpc AccommodationProductList(AccommodationProductListRequest) returns (AccommodationProductListResponse);
Expand Down
10 changes: 5 additions & 5 deletions proto/cmp/services/transport/v1alpha1/trip_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ syntax = "proto3";

package cmp.services.transport.v1alpha1;

import "cmp/types/v1alpha1/distance.proto";
import "cmp/types/v1alpha1/baggage.proto";
import "cmp/types/v1alpha1/location.proto";
import "cmp/types/v1alpha1/measurement.proto";
import "cmp/types/v1alpha1/price.proto";
import "cmp/types/v1alpha1/time.proto";
import "cmp/types/v1alpha1/baggage.proto";
import "google/protobuf/timestamp.proto";

// ### Trip message type
Expand Down Expand Up @@ -84,8 +84,8 @@ message TripSegment {

// Trip Distance
//
// Ex: `Distance(value=15, unit=DistanceType.DISTANCE_UNIT_KILOMETERS)`
cmp.types.v1alpha1.Distance trip_distance = 11;
// Ex: `Length(value=15, unit=LengthUnit.DISTANCE_UNIT_KILOMETERS)`
cmp.types.v1alpha1.Length trip_distance = 11;

// Min PAX
//
Expand Down Expand Up @@ -117,4 +117,4 @@ message TransitEvent {

// Event location
cmp.types.v1alpha1.LocationCode location_code = 2;
}
}
29 changes: 8 additions & 21 deletions proto/cmp/types/v1alpha1/baggage.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ syntax = "proto3";

package cmp.types.v1alpha1;

import "cmp/types/v1alpha1/measurement.proto";

// Baggage message type
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/baggage.proto.dot.xs.svg)
Expand All @@ -12,22 +14,14 @@ message Baggage {
// Enum of allowed baggage types.
BaggageType baggage_type = 1;

// maximum number of the specified bagage type allowed
int32 max_baggage = 2;

// maximum weith of each of the specified bagage type allowed
int32 max_baggage_weight = 3;
// Maximum number of the specified baggage count allowed for this type
int32 max_count = 2;

// Dimensions
//
// Dimensions unit specification for length, width and height (cm or inches)
DimensionType dimension_type = 5;
// Maximum weith of each of the specified bagage type allowed
Weight max_weight = 3;

// maximum height of the specified bagage type allowed
// maximum length, width and height of the specified bagage type allowed
int32 max_baggage_length = 6;
int32 max_baggage_width = 7;
int32 max_baggage_height = 8;
// Maximum length, width and height of the specified bagage type allowed
Dimension max_dimension = 4;
}

// Baggage type ENUM type
Expand All @@ -42,10 +36,3 @@ enum BaggageType {
BAGGAGE_TYPE_GOLF = 7; // Golf bags
BAGGAGE_TYPE_SURF = 8; // (wind)Surf or Kite boards
}

// Baggage dimensions unit ENUM type
enum DimensionType {
DIMENSION_TYPE_UNSPECIFIED = 0; // No Baggage dimensions unit specified
DIMENSION_TYPE_CM = 1; // Centimeters
DIMENSION_TYPE_INCH = 2; // Inches
}
22 changes: 0 additions & 22 deletions proto/cmp/types/v1alpha1/distance.proto

This file was deleted.

4 changes: 2 additions & 2 deletions proto/cmp/types/v1alpha1/location.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ syntax = "proto3";
package cmp.types.v1alpha1;

import "cmp/types/v1alpha1/country.proto";
import "cmp/types/v1alpha1/distance.proto";
import "cmp/types/v1alpha1/measurement.proto";

// ### Coordinate
//
Expand All @@ -21,7 +21,7 @@ message Coordinate {
// Geo Circle
message GeoCircle {
cmp.types.v1alpha1.Coordinate center = 1;
cmp.types.v1alpha1.Distance radius = 2;
cmp.types.v1alpha1.Length radius = 2;
}

// Geo Polygon
Expand Down
49 changes: 49 additions & 0 deletions proto/cmp/types/v1alpha1/measurement.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
syntax = "proto3";

package cmp.types.v1alpha1;

// Length
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/measurement.proto.dot.xs.svg)
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/measurement.proto.dot.svg)
message Length {
int32 value = 1;
LengthUnit unit = 2;
}

// Represents a dimension type, for example, to be used in baggage message type
message Dimension {
int32 length = 1;
int32 width = 2;
int32 height = 3;
LengthUnit unit = 4;
}

// Length Unit
enum LengthUnit {
LENGTH_UNIT_UNSPECIFIED = 0;
LENGTH_UNIT_MILLIMETER = 1;
LENGTH_UNIT_CENTIMETER = 2;
LENGTH_UNIT_METER = 3;
LENGTH_UNIT_KILOMETER = 4;
LENGTH_UNIT_INCH = 5;
LENGTH_UNIT_FEET = 6;
LENGTH_UNIT_YARD = 7;
LENGTH_UNIT_MILE = 8;
}

// Weight type
//
// Ex: Used for weight in baggage message type
message Weight {
int32 value = 1;
WeightUnit unit = 2;
}

// Weight Unit
enum WeightUnit {
WEIGHT_UNIT_UNSPECIFIED = 0;
WEIGHT_UNIT_GRAM = 1;
WEIGHT_UNIT_KILOGRAM = 2;
WEIGHT_UNIT_POUND = 3;
}