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

Transport review #5

Merged
merged 4 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from 3 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
27 changes: 14 additions & 13 deletions proto/cmp/services/transport/v1alpha1/search_result_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -24,40 +24,41 @@ message TransportSearchResult {
// Option to carry through an offer identifier for other stateful provider systems
// like NDC AirShopping RS
string offer_id = 2;
string segment_id = 3;
havan marked this conversation as resolved.
Show resolved Hide resolved

// Travellers
repeated cmp.types.v1alpha1.Traveller travellers = 3;
repeated cmp.types.v1alpha1.Traveller travellers = 4;

// Travelling trip. See `search.proto` documentation
Trip travelling_trip = 4;
Trip travelling_trip = 5;

// Returning trip. See `search.proto` documentation
Trip returning_trip = 5;
Trip returning_trip = 6;

// Total Price
cmp.types.v1alpha1.PriceDetail total_price = 6;
cmp.types.v1alpha1.PriceDetail total_price = 7;

// Services
repeated cmp.types.v1alpha1.ServiceFact included_services = 7;
repeated cmp.types.v1alpha1.ServiceFact compulsory_extras = 8;
repeated cmp.types.v1alpha1.ServiceFact optional_extras = 9;
repeated cmp.types.v1alpha1.ServiceFact included_services = 8;
repeated cmp.types.v1alpha1.ServiceFact compulsory_extras = 9;
repeated cmp.types.v1alpha1.ServiceFact optional_extras = 10;

// Rate Rules
repeated cmp.types.v1alpha1.RateRule rate_rules = 10;
repeated cmp.types.v1alpha1.RateRule rate_rules = 11;

// Fulfillment
repeated cmp.types.v1alpha1.Fulfillment fulfillments = 11; //FIXME: Can linktype be an ENUM?
repeated cmp.types.v1alpha1.Fulfillment fulfillments = 12; //FIXME: Can linktype be an ENUM?

// Validity of the search option.
//
// `DateTimeRange` type with `start_date` and `end_date` in which the option can
// be booked. If the start_date is omitted, the offer can be booked until the
// end-date.
cmp.types.v1alpha1.DateTimeRange validity = 12;
cmp.types.v1alpha1.DateTimeRange validity = 13;

// Cancel Policy
cmp.types.v1alpha1.CancelPolicy cancel_policy = 13;
cmp.types.v1alpha1.CancelPolicy cancel_policy = 14;

// Observations
string observations = 14;
}
string observations = 15;
}
5 changes: 3 additions & 2 deletions proto/cmp/services/transport/v1alpha1/trip_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import "cmp/types/v1alpha1/distance.proto";
import "cmp/types/v1alpha1/location.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 @@ -99,7 +100,7 @@ message TripSegment {
// Luggage
//
// Ex: `3`
int32 luggage = 14;
cmp.types.v1alpha1.Baggage baggage = 14;

// Price
//
Expand All @@ -116,4 +117,4 @@ message TransitEvent {

// Event location
cmp.types.v1alpha1.LocationCode location_code = 2;
}
}
51 changes: 51 additions & 0 deletions proto/cmp/types/v1alpha1/baggage.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
syntax = "proto3";

package cmp.types.v1alpha1;

// Baggage message type
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/baggage.proto.dot.xs.svg)
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/types/v1alpha1/baggage.proto.dot.svg)
message Baggage {
// Baggage type
//
// 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;

// Dimensions
//
// Dimensions unit specification for length, width and height (cm or inches)
DimensionType dimension_type = 5;

// 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;
havan marked this conversation as resolved.
Show resolved Hide resolved
}

// Baggage type ENUM type
enum BaggageType {
BAGGAGE_TYPE_UNSPECIFIED = 0; // No Baggage type specified
BAGGAGE_TYPE_CARRY_ON = 1; // Carry-on
BAGGAGE_TYPE_CARRY_ON_OVERHEAD = 2; // Carry-on overhead
BAGGAGE_TYPE_CARRY_ON_PERSONAL = 3; // Carry-on personal item
BAGGAGE_TYPE_CHECKED = 4; // Checked
BAGGAGE_TYPE_ODD_SIZE = 5; // Odd size checked baggage
BAGGAGE_TYPE_SKI = 6; // Skis
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
}
havan marked this conversation as resolved.
Show resolved Hide resolved