lib/mbta/model/prediction_resource.ex

# NOTE: This file is auto generated by OpenAPI Generator 7.1.0 (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule MBTA.Model.PredictionResource do
  @moduledoc """
  The predicted arrival time (`/*/attributes/arrival_time`) and departure time (`*/attributes/departure_time`) to/from a stop (`*/relationships/stop/data/id`) at a given sequence (`*/attriutes/stop_sequence`) along a trip (`*/relationships/trip/data/id`) going a direction (`*/attributes/direction_id`) along a route (`*/relationships/route/data/id`).  See [GTFS Realtime `FeedMesage` `FeedEntity` `TripUpdate` `TripDescriptor`](https://github.com/google/transit/blob/master/gtfs-realtime/spec/en/reference.md#message-tripdescriptor) See [GTFS Realtime `FeedMesage` `FeedEntity` `TripUpdate` `StopTimeUpdate`](https://github.com/google/transit/blob/master/gtfs-realtime/spec/en/reference.md#message-stoptimeupdate) 
  """

  @derive Jason.Encoder
  defstruct [
    :type,
    :relationships,
    :links,
    :id,
    :attributes
  ]

  @type t :: %__MODULE__{
    :type => String.t | nil,
    :relationships => MBTA.Model.PredictionResourceRelationships.t | nil,
    :links => map() | nil,
    :id => String.t | nil,
    :attributes => MBTA.Model.PredictionResourceAttributes.t | nil
  }

  alias MBTA.Deserializer

  def decode(value) do
    value
     |> Deserializer.deserialize(:relationships, :struct, MBTA.Model.PredictionResourceRelationships)
     |> Deserializer.deserialize(:attributes, :struct, MBTA.Model.PredictionResourceAttributes)
  end
end