Page Summary
-
The
ServiceClassmessage defines the amenities and comfort level of a vehicle journey. -
ServiceClassTypeis an enum withinServiceClassthat specifies the service class, includingFIRST_CLASS,SECOND_CLASS,SINGLE_CLASS, andBUSINESS_CLASS. -
Specific service classes, like
NON_RESERVED_SECOND_CLASS,RESERVED_SECOND_CLASS,RESERVED_GREEN_CAR_CLASS, andRESERVED_GRAN_CLASS, are available for the Japan market. -
The JSON sample illustrates how to represent the service class type, with "type" set to "FIRST_CLASS" in this example.
-
When using protocol buffer libraries, it's recommended to include
SERVICE_CLASS_TYPE_UNSPECIFIED = 0within theServiceClass.ServiceClassTypeenum.
When adding new classes to ServiceClassType, ensure they adhere to the
following guidelines:
- Local Standards: The classes should represent the local standard of service classes for the intended mode of transport in the target market.
- Hardware-Focused: They should represent the physical attributes and amenities of the vehicle (the "hardware") rather than a partner's specific pricing structure or fare conditions (e.g. refundability, flexibility).
- Reusability: Different partners should be able to use the same classes when providing prices for the same type of vehicle. This avoids proliferation of partner-specific enums and ensures consistency.
Proto Definition
// Attributes characterizing the amenities and ride comfort of a journey on a // vehicle. message ServiceClass { // A high level enum describing the service class type. enum ServiceClassType { // Global service classes FIRST_CLASS = 1; SECOND_CLASS = 2; // Only a single service class is offered by the operator. The service class // may not even have a name because there is no distinction to be made. SINGLE_CLASS = 3; BUSINESS_CLASS = 4; // Additional global or per-market service classes can be added. Please // reach out to the Google Transport team if additional service classes are // needed for your use case. // Japan specific train ticket classes NON_RESERVED_SECOND_CLASS = 201; RESERVED_SECOND_CLASS = 202; RESERVED_GREEN_CAR_CLASS = 203; RESERVED_GRAN_CLASS = 204; // Brazil specific service classes. CONVENCIONAL = 205; EXECUTIVO = 206; SEMILEITO = 207; LEITO = 208; CAMA = 209; // Bus specific service classes (commonly used in India). // Air-conditioned sleeper class. AC_SLEEPER_CLASS = 301; // Air-conditioned seater class. AC_SEATER_CLASS = 302; // Air-conditioned semi-sleeper class. AC_SEMI_SLEEPER_CLASS = 303; // Air-conditioned sleeper and seater class. AC_SLEEPER_SEATER_CLASS = 304; // Non-air-conditioned sleeper class. NON_AC_SLEEPER_CLASS = 305; // Non-air-conditioned seater class. NON_AC_SEATER_CLASS = 306; // Non-air-conditioned semi-sleeper class. NON_AC_SEMI_SLEEPER_CLASS = 307; // Non-air-conditioned sleeper and seater class. NON_AC_SLEEPER_SEATER_CLASS = 308; } ServiceClassType type = 1 [features.field_presence = IMPLICIT]; }
JSON Sample
{ "type": "FIRST_CLASS" }