package domain

type OperationalStatus string

const (
	StatusDraft       OperationalStatus = "DRAFT"       // Initial state upon import or creation, not yet submitted.
	StatusOutstanding OperationalStatus = "OUTSTANDING" // Submitted (PSO), awaiting administrative verification.
	StatusVerified    OperationalStatus = "VERIFIED"    // Verified by administration (becomes official Record/PO).
	StatusLocked      OperationalStatus = "LOCKED"      // Finalized and converted to IOM protocol, immutable.
	StatusCancelled   OperationalStatus = "CANCELLED"   // Voided or terminated.
)

type DocumentStatus string

const (
	DocDraft     DocumentStatus = "draft"
	DocSubmitted DocumentStatus = "submitted"
	DocApproved  DocumentStatus = "approved"
	DocRejected  DocumentStatus = "rejected"
	DocArchived  DocumentStatus = "archived"
)

type MemoCategory string

// Memorandum Intelligence Categories
const (
	MemoCategoryCreditLimit MemoCategory = "Credit Limit"
	MemoCategoryService     MemoCategory = "Service Authorization"
)

const CustomerProfileSequenceDocType = "CUSTOMER_PROFILE"
const CustomerProfileDefaultNumberFormat = "{INC}/CS-BJM/{ROM}/{YY}"
const CustomerProfileLegacyNumberFormat = "CP-{INC}"
const CustomerProfileDefaultResetMode = "global"
