# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech). # Do not edit this file manually. defmodule Procore.Model.Default1 do @moduledoc """ Base Prime Change Order """ @derive Jason.Encoder defstruct [ :id, :batch_id, :contract_id, :legacy_package_id, :legacy_request_id, :location_id, :description, :title, :invoiced_date, :paid_date, :due_date, :revised_substantial_completion_date, :signed_change_order_received_date, :updated_at, :created_at, :reviewed_at, :executed, :paid, :signature_required, :private, :field_change, :grand_total, :schedule_impact_amount, :number, :type, :revision, :status, :reference, :created_by, :designated_reviewer, :received_from, :reviewed_by, :change_order_change_reason, :custom_fields, :currency_configuration ] @type t :: %__MODULE__{ :id => integer() | nil, :batch_id => integer() | nil, :contract_id => integer() | nil, :legacy_package_id => integer() | nil, :legacy_request_id => integer() | nil, :location_id => integer() | nil, :description => String.t() | nil, :title => String.t() | nil, :invoiced_date => Date.t() | nil, :paid_date => Date.t() | nil, :due_date => Date.t() | nil, :revised_substantial_completion_date => Date.t() | nil, :signed_change_order_received_date => Date.t() | nil, :updated_at => DateTime.t() | nil, :created_at => DateTime.t() | nil, :reviewed_at => DateTime.t() | nil, :executed => boolean() | nil, :paid => boolean() | nil, :signature_required => boolean() | nil, :private => boolean() | nil, :field_change => boolean() | nil, :grand_total => String.t() | nil, :schedule_impact_amount => integer() | nil, :number => String.t() | nil, :type => String.t() | nil, :revision => integer() | nil, :status => String.t() | nil, :reference => String.t() | nil, :created_by => Procore.Model.Default1CreatedBy.t() | nil, :designated_reviewer => Procore.Model.Default1DesignatedReviewer.t() | nil, :received_from => Procore.Model.Default1ReceivedFrom.t() | nil, :reviewed_by => Procore.Model.Default1ReviewedBy.t() | nil, :change_order_change_reason => Procore.Model.Default1ChangeOrderChangeReason.t() | nil, :custom_fields => Procore.Model.RestV10ProjectsProjectIdVisitorLogsGet200ResponseInnerCustomFields.t() | nil, :currency_configuration => Procore.Model.RestV10WorkOrderContractsSyncPatch200ResponseEntitiesInnerAllOfCurrencyConfiguration.t() | nil } alias Procore.Deserializer def decode(value) do value |> Deserializer.deserialize(:invoiced_date, :date, nil) |> Deserializer.deserialize(:paid_date, :date, nil) |> Deserializer.deserialize(:due_date, :date, nil) |> Deserializer.deserialize(:revised_substantial_completion_date, :date, nil) |> Deserializer.deserialize(:signed_change_order_received_date, :date, nil) |> Deserializer.deserialize(:updated_at, :datetime, nil) |> Deserializer.deserialize(:created_at, :datetime, nil) |> Deserializer.deserialize(:reviewed_at, :datetime, nil) |> Deserializer.deserialize(:created_by, :struct, Procore.Model.Default1CreatedBy) |> Deserializer.deserialize( :designated_reviewer, :struct, Procore.Model.Default1DesignatedReviewer ) |> Deserializer.deserialize(:received_from, :struct, Procore.Model.Default1ReceivedFrom) |> Deserializer.deserialize(:reviewed_by, :struct, Procore.Model.Default1ReviewedBy) |> Deserializer.deserialize( :change_order_change_reason, :struct, Procore.Model.Default1ChangeOrderChangeReason ) |> Deserializer.deserialize( :custom_fields, :struct, Procore.Model.RestV10ProjectsProjectIdVisitorLogsGet200ResponseInnerCustomFields ) |> Deserializer.deserialize( :currency_configuration, :struct, Procore.Model.RestV10WorkOrderContractsSyncPatch200ResponseEntitiesInnerAllOfCurrencyConfiguration ) end end