# NOTE: This file is auto generated by OpenAPI Generator 7.17.0 (https://openapi-generator.tech). # Do not edit this file manually. defmodule MollieAPI.Model.SessionRequest do @moduledoc """ """ @derive JSON.Encoder defstruct [ :resource, :id, :mode, :clientAccessToken, :status, :amount, :description, :lines, :redirectUrl, :billingAddress, :shippingAddress, :customerId, :sequenceType, :metadata, :payment, :profileId, :testmode, :createdAt, :expiredAt, :completedAt, :_links ] @type t :: %__MODULE__{ :resource => any() | nil, :id => String.t | nil, :mode => MollieAPI.Model.Mode.t | nil, :clientAccessToken => any() | nil, :status => MollieAPI.Model.SessionStatus.t | nil, :amount => MollieAPI.Model.Amount.t, :description => any(), :lines => [MollieAPI.Model.SessionLineItem.t], :redirectUrl => any(), :billingAddress => MollieAPI.Model.PaymentAddress.t | nil, :shippingAddress => MollieAPI.Model.PaymentAddress.t | nil, :customerId => any() | nil, :sequenceType => MollieAPI.Model.SessionSequenceType.t | nil, :metadata => %{optional(String.t) => any()} | nil, :payment => MollieAPI.Model.EntitySessionPayment.t | nil, :profileId => any() | nil, :testmode => any() | nil, :createdAt => any() | nil, :expiredAt => any() | nil, :completedAt => any() | nil, :_links => MollieAPI.Model.EntitySessionLinks.t | nil } alias MollieAPI.Deserializer def decode(value) do value |> Deserializer.deserialize(:mode, :struct, MollieAPI.Model.Mode) |> Deserializer.deserialize(:status, :struct, MollieAPI.Model.SessionStatus) |> Deserializer.deserialize(:amount, :struct, MollieAPI.Model.Amount) |> Deserializer.deserialize(:lines, :list, MollieAPI.Model.SessionLineItem) |> Deserializer.deserialize(:billingAddress, :struct, MollieAPI.Model.PaymentAddress) |> Deserializer.deserialize(:shippingAddress, :struct, MollieAPI.Model.PaymentAddress) |> Deserializer.deserialize(:sequenceType, :struct, MollieAPI.Model.SessionSequenceType) |> Deserializer.deserialize(:payment, :struct, MollieAPI.Model.EntitySessionPayment) |> Deserializer.deserialize(:_links, :struct, MollieAPI.Model.EntitySessionLinks) end end