# 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.Commitment1 do @moduledoc """ """ @derive Jason.Encoder defstruct [ :id, :title, :number, :status, :description, :executed, :delivery_date, :created_at, :private, :vendor, :accounting_method, :actual_completion_date, :allow_comments, :allow_markups, :allow_payment_applications, :allow_payments, :allow_redistributions, :approved_change_orders, :bill_to, :budget_line_item_id, :contract_estimated_completion_date, :contract_start_date, :contract_termination_date, :deleted_at, :display_materials_retainage, :display_stored_materials, :display_work_retainage, :exclusions, :grand_total, :inclusions, :line_items_extended_total, :line_items_total, :payment_terms, :pending_change_orders, :pending_revised_contract, :percentage_paid, :position, :remaining_balance_outstanding, :requisition_number, :retainage_percent, :revised_contract, :ship_to, :ship_via, :signed_contract_received_date, :total_payments, :total_draw_requests_amount, :type, :updated_at, :architect, :assigned_to, :attachments, :change_order_packages, :change_order_requests, :contractor, :cost_code, :created_by, :line_items, :potential_change_orders, :payments_issued, :received_from ] @type t :: %__MODULE__{ :id => float() | nil, :title => String.t() | nil, :number => String.t() | nil, :status => String.t() | nil, :description => String.t() | nil, :executed => boolean() | nil, :delivery_date => Date.t() | nil, :created_at => DateTime.t() | nil, :private => boolean() | nil, :vendor => Procore.Model.RestV10PrimeContractsGet200ResponseInnerContractor.t() | nil, :accounting_method => String.t() | nil, :actual_completion_date => Date.t() | nil, :allow_comments => boolean() | nil, :allow_markups => boolean() | nil, :allow_payment_applications => boolean() | nil, :allow_payments => boolean() | nil, :allow_redistributions => boolean() | nil, :approved_change_orders => String.t() | nil, :bill_to => String.t() | nil, :budget_line_item_id => integer() | nil, :contract_estimated_completion_date => Date.t() | nil, :contract_start_date => Date.t() | nil, :contract_termination_date => Date.t() | nil, :deleted_at => DateTime.t() | nil, :display_materials_retainage => boolean() | nil, :display_stored_materials => boolean() | nil, :display_work_retainage => boolean() | nil, :exclusions => String.t() | nil, :grand_total => String.t() | nil, :inclusions => String.t() | nil, :line_items_extended_total => String.t() | nil, :line_items_total => String.t() | nil, :payment_terms => String.t() | nil, :pending_change_orders => String.t() | nil, :pending_revised_contract => String.t() | nil, :percentage_paid => String.t() | nil, :position => integer() | nil, :remaining_balance_outstanding => String.t() | nil, :requisition_number => String.t() | nil, :retainage_percent => String.t() | nil, :revised_contract => String.t() | nil, :ship_to => String.t() | nil, :ship_via => String.t() | nil, :signed_contract_received_date => Date.t() | nil, :total_payments => String.t() | nil, :total_draw_requests_amount => String.t() | nil, :type => String.t() | nil, :updated_at => DateTime.t() | nil, :architect => Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy.t() | nil, :assigned_to => Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy.t() | nil, :attachments => [Procore.Model.RestV10WorkOrderContractsPost201ResponseAttachmentsInner.t()] | nil, :change_order_packages => [Procore.Model.RfqChangeOrderPackages.t()] | nil, :change_order_requests => [[Procore.Model.Commitment1ChangeOrderRequestsInnerInner.t()]] | nil, :contractor => Procore.Model.RestV10PrimeContractsGet200ResponseInnerContractor.t() | nil, :cost_code => Procore.Model.RestV10WorkOrderContractsPost201ResponseLineItemsInnerCostCode.t() | nil, :created_by => Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy.t() | nil, :line_items => [Procore.Model.Commitment1LineItemsInner.t()] | nil, :potential_change_orders => [Procore.Model.Commitment1PotentialChangeOrdersInner.t()] | nil, :payments_issued => [Procore.Model.Commitment1PaymentsIssuedInner.t()] | nil, :received_from => Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy.t() | nil } alias Procore.Deserializer def decode(value) do value |> Deserializer.deserialize(:delivery_date, :date, nil) |> Deserializer.deserialize(:created_at, :datetime, nil) |> Deserializer.deserialize( :vendor, :struct, Procore.Model.RestV10PrimeContractsGet200ResponseInnerContractor ) |> Deserializer.deserialize(:actual_completion_date, :date, nil) |> Deserializer.deserialize(:contract_estimated_completion_date, :date, nil) |> Deserializer.deserialize(:contract_start_date, :date, nil) |> Deserializer.deserialize(:contract_termination_date, :date, nil) |> Deserializer.deserialize(:deleted_at, :datetime, nil) |> Deserializer.deserialize(:signed_contract_received_date, :date, nil) |> Deserializer.deserialize(:updated_at, :datetime, nil) |> Deserializer.deserialize( :architect, :struct, Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy ) |> Deserializer.deserialize( :assigned_to, :struct, Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy ) |> Deserializer.deserialize( :attachments, :list, Procore.Model.RestV10WorkOrderContractsPost201ResponseAttachmentsInner ) |> Deserializer.deserialize( :change_order_packages, :list, Procore.Model.RfqChangeOrderPackages ) |> Deserializer.deserialize( :contractor, :struct, Procore.Model.RestV10PrimeContractsGet200ResponseInnerContractor ) |> Deserializer.deserialize( :cost_code, :struct, Procore.Model.RestV10WorkOrderContractsPost201ResponseLineItemsInnerCostCode ) |> Deserializer.deserialize( :created_by, :struct, Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy ) |> Deserializer.deserialize(:line_items, :list, Procore.Model.Commitment1LineItemsInner) |> Deserializer.deserialize( :potential_change_orders, :list, Procore.Model.Commitment1PotentialChangeOrdersInner ) |> Deserializer.deserialize( :payments_issued, :list, Procore.Model.Commitment1PaymentsIssuedInner ) |> Deserializer.deserialize( :received_from, :struct, Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy ) end end