ServiceClass specification

  • The ServiceClass message defines the amenities and comfort level of a vehicle journey.

  • ServiceClassType is an enum within ServiceClass that specifies the service class, including FIRST_CLASS, SECOND_CLASS, SINGLE_CLASS, and BUSINESS_CLASS.

  • Specific service classes, like NON_RESERVED_SECOND_CLASS, RESERVED_SECOND_CLASS, RESERVED_GREEN_CAR_CLASS, and RESERVED_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 = 0 within the ServiceClass.ServiceClassType enum.

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

  ServiceClassType type = 1;
}

JSON Sample

{
  "type": "FIRST_CLASS"
}