defmodule PolicyService.Events.Policy do defmodule PolicyApplicationSubmitted do @derive Jason.Encoder defstruct [ :id, :submitted_by, :applicant_info, :policy_details, :selected_providers, :submitted_at ] end defmodule QuoteRequestSent do @derive Jason.Encoder defstruct [ :id, :provider_id, :provider_email, :applicant_info, :policy_details, :requested_at ] end defmodule ProviderQuoteReceived do @derive Jason.Encoder defstruct [ :id, :recorded_by, :provider_id, :quote_id, :premium, :coverage_details, :valid_until, :plans, :received_at ] end defmodule AllQuotesReceived do @derive Jason.Encoder defstruct [:id, :org_id, :quote_count] end defmodule QuoteAccepted do @derive Jason.Encoder defstruct [ :id, :accepted_by, :quote, :plan, :provider, :accepted_at ] end defmodule SolicitationSent do @derive Jason.Encoder defstruct [ :id, :solicitation_id, :provider_id, :template_id, :s3_key, :sent_at ] end defmodule PolicyIssued do @derive Jason.Encoder defstruct [ :id, :policy_number, :effective_date, :expiry_date, :issued_at ] end end