defmodule CustomerService.Events.CustomerCreated do @derive Jason.Encoder defstruct [ :id, :first_name, :last_name, :birth_date, :gender, :email, :phone, :address, :document_id ] end defmodule CustomerService.Events.CorporateCustomerCreated do @derive Jason.Encoder defstruct [ :id, :legal_name, :commercial_name, :ruc, :legal_rep_name, :legal_rep_document_id, :email, :phone, :address ] end defmodule CustomerService.Events.CustomerUpdated do @derive Jason.Encoder defstruct [ :id, :first_name, :last_name, :birth_date, :gender, :email, :phone, :address, :document_id ] end defmodule CustomerService.Events.CorporateCustomerUpdated do @derive Jason.Encoder defstruct [ :id, :legal_name, :commercial_name, :ruc, :legal_rep_name, :legal_rep_document_id, :email, :phone, :address ] end defmodule CustomerService.Events.QuickLeadCreated do @derive Jason.Encoder defstruct [ :id, :name, :email, :phone, :company_name, :status, :priority, :source, :notes, :assigned_to, :estimated_value, :expected_close_date ] end defmodule CustomerService.Events.QuickLeadUpdated do @derive Jason.Encoder defstruct [ :id, :name, :email, :phone, :company_name, :notes, :assigned_to, :estimated_value, :expected_close_date ] end defmodule CustomerService.Events.LeadStatusUpdated do @derive Jason.Encoder defstruct [:id, :status, :previous_status, :updated_at] end