# NOTE: This file is auto generated by OpenAPI Generator 7.9.0-SNAPSHOT (https://openapi-generator.tech). # Do not edit this file manually. defmodule Procore.Model.ObservationItem do @moduledoc """ """ @derive Jason.Encoder defstruct [ :id, :created_at, :closed_at, :deleted_at, :updated_at, :number, :name, :description, :description_rich_text, :status, :priority, :date_notified, :due_date, :personal, :origin, :assignee, :created_by, :location, :specification_section, :trade, :type, :custom_fields ] @type t :: %__MODULE__{ :id => integer() | nil, :created_at => DateTime.t() | nil, :closed_at => DateTime.t() | nil, :deleted_at => DateTime.t() | nil, :updated_at => DateTime.t() | nil, :number => String.t() | nil, :name => String.t() | nil, :description => String.t() | nil, :description_rich_text => String.t() | nil, :status => String.t() | nil, :priority => String.t() | nil, :date_notified => Date.t() | nil, :due_date => Date.t() | nil, :personal => boolean() | nil, :origin => Procore.Model.ObservationOrigin.t() | nil, :assignee => Procore.Model.ObservationItemAssignee.t() | nil, :created_by => Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy.t() | nil, :location => Procore.Model.Location.t() | nil, :specification_section => Procore.Model.ObservationItemSpecificationSection.t() | nil, :trade => Procore.Model.Trade2.t() | nil, :type => Procore.Model.ObservationType.t() | nil, :custom_fields => Procore.Model.RestV11ProjectsProjectIdRecycleBinIncidentsWitnessStatementsGet200ResponseInnerCustomFields.t() | nil } alias Procore.Deserializer def decode(value) do value |> Deserializer.deserialize(:created_at, :datetime, nil) |> Deserializer.deserialize(:closed_at, :datetime, nil) |> Deserializer.deserialize(:deleted_at, :datetime, nil) |> Deserializer.deserialize(:updated_at, :datetime, nil) |> Deserializer.deserialize(:date_notified, :date, nil) |> Deserializer.deserialize(:due_date, :date, nil) |> Deserializer.deserialize(:origin, :struct, Procore.Model.ObservationOrigin) |> Deserializer.deserialize(:assignee, :struct, Procore.Model.ObservationItemAssignee) |> Deserializer.deserialize( :created_by, :struct, Procore.Model.RestV10ProjectsProjectIdWorkLogsGet200ResponseInnerCreatedBy ) |> Deserializer.deserialize(:location, :struct, Procore.Model.Location) |> Deserializer.deserialize( :specification_section, :struct, Procore.Model.ObservationItemSpecificationSection ) |> Deserializer.deserialize(:trade, :struct, Procore.Model.Trade2) |> Deserializer.deserialize(:type, :struct, Procore.Model.ObservationType) |> Deserializer.deserialize( :custom_fields, :struct, Procore.Model.RestV11ProjectsProjectIdRecycleBinIncidentsWitnessStatementsGet200ResponseInnerCustomFields ) end end