Class: Google::Apis::TravelimpactmodelV1::TravelImpactModelService

Inherits:
Core::BaseService
  • Object
show all
Defined in:
lib/google/apis/travelimpactmodel_v1/service.rb

Overview

Travel Impact Model API

Travel Impact Model API lets you query travel carbon emission estimates.

Examples:

require 'google/apis/travelimpactmodel_v1'

Travelimpactmodel = Google::Apis::TravelimpactmodelV1 # Alias the module
service = Travelimpactmodel::TravelImpactModelService.new

See Also:

Constant Summary collapse

DEFAULT_ENDPOINT_TEMPLATE =
"https://travelimpactmodel.$UNIVERSE_DOMAIN$/"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTravelImpactModelService

Returns a new instance of TravelImpactModelService.



47
48
49
50
51
52
# File 'lib/google/apis/travelimpactmodel_v1/service.rb', line 47

def initialize
  super(DEFAULT_ENDPOINT_TEMPLATE, '',
        client_name: 'google-apis-travelimpactmodel_v1',
        client_version: Google::Apis::TravelimpactmodelV1::GEM_VERSION)
  @batch_path = 'batch'
end

Instance Attribute Details

#keyString

Returns API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.

Returns:

  • (String)

    API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.



40
41
42
# File 'lib/google/apis/travelimpactmodel_v1/service.rb', line 40

def key
  @key
end

#quota_userString

Returns Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

Returns:

  • (String)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.



45
46
47
# File 'lib/google/apis/travelimpactmodel_v1/service.rb', line 45

def quota_user
  @quota_user
end

Instance Method Details

#compute_flight_emissions(compute_flight_emissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::TravelimpactmodelV1::ComputeFlightEmissionsResponse

Stateless method to retrieve emission estimates. Details on how emission estimates are computed are in GitHub. The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.

Parameters:

  • compute_flight_emissions_request_object (Google::Apis::TravelimpactmodelV1::ComputeFlightEmissionsRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



83
84
85
86
87
88
89
90
91
92
# File 'lib/google/apis/travelimpactmodel_v1/service.rb', line 83

def compute_flight_emissions(compute_flight_emissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/flights:computeFlightEmissions', options)
  command.request_representation = Google::Apis::TravelimpactmodelV1::ComputeFlightEmissionsRequest::Representation
  command.request_object = compute_flight_emissions_request_object
  command.response_representation = Google::Apis::TravelimpactmodelV1::ComputeFlightEmissionsResponse::Representation
  command.response_class = Google::Apis::TravelimpactmodelV1::ComputeFlightEmissionsResponse
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#compute_scope3_flight_emissions(compute_scope3_flight_emissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::TravelimpactmodelV1::ComputeScope3FlightEmissionsResponse

Stateless method to retrieve GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic ( using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an INVALID_ARGUMENT error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.

Parameters:

  • compute_scope3_flight_emissions_request_object (Google::Apis::TravelimpactmodelV1::ComputeScope3FlightEmissionsRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



148
149
150
151
152
153
154
155
156
157
# File 'lib/google/apis/travelimpactmodel_v1/service.rb', line 148

def compute_scope3_flight_emissions(compute_scope3_flight_emissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/flights:computeScope3FlightEmissions', options)
  command.request_representation = Google::Apis::TravelimpactmodelV1::ComputeScope3FlightEmissionsRequest::Representation
  command.request_object = compute_scope3_flight_emissions_request_object
  command.response_representation = Google::Apis::TravelimpactmodelV1::ComputeScope3FlightEmissionsResponse::Representation
  command.response_class = Google::Apis::TravelimpactmodelV1::ComputeScope3FlightEmissionsResponse
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#compute_typical_flight_emissions(compute_typical_flight_emissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::TravelimpactmodelV1::ComputeTypicalFlightEmissionsResponse

Retrieves typical flight emissions estimates between two airports, also known as a market. If there are no estimates available for a certain market, the response will return the market object with empty emission fields. The request will still be considered successful. Details on how the typical emissions estimates are computed are on GitHub. The request can contain up to 1000 markets. If the request has more than 1000 markets, it will fail with an INVALID_ARGUMENT error.

Parameters:

  • compute_typical_flight_emissions_request_object (Google::Apis::TravelimpactmodelV1::ComputeTypicalFlightEmissionsRequest) (defaults to: nil)
  • fields (String) (defaults to: nil)

    Selector specifying which fields to include in a partial response.

  • quota_user (String) (defaults to: nil)

    Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.

  • options (Google::Apis::RequestOptions) (defaults to: nil)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:

  • (Google::Apis::ServerError)

    An error occurred on the server and the request can be retried

  • (Google::Apis::ClientError)

    The request is invalid and should not be retried without modification

  • (Google::Apis::AuthorizationError)

    Authorization is required



185
186
187
188
189
190
191
192
193
194
# File 'lib/google/apis/travelimpactmodel_v1/service.rb', line 185

def compute_typical_flight_emissions(compute_typical_flight_emissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/flights:computeTypicalFlightEmissions', options)
  command.request_representation = Google::Apis::TravelimpactmodelV1::ComputeTypicalFlightEmissionsRequest::Representation
  command.request_object = compute_typical_flight_emissions_request_object
  command.response_representation = Google::Apis::TravelimpactmodelV1::ComputeTypicalFlightEmissionsResponse::Representation
  command.response_class = Google::Apis::TravelimpactmodelV1::ComputeTypicalFlightEmissionsResponse
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end