package eform // ===================================================== // TENDER STRUCTURE // ===================================================== // Tender represents information about individual bids type Tender struct { ID string `json:"id" xml:"id" validate:"required,tenIDFormat"` TenderRank *int `json:"tender_rank,omitempty" xml:"tender_rank,omitempty" validate:"omitempty,min=1"` IsWinner bool `json:"is_winner" xml:"is_winner"` TendererIDs []string `json:"tenderer_ids" xml:"tenderer_ids" validate:"required,min=1"` IsConsortium bool `json:"is_consortium" xml:"is_consortium"` VariantTender bool `json:"variant_tender" xml:"variant_tender"` ExcludedTender bool `json:"excluded_tender" xml:"excluded_tender"` ExclusionReason string `json:"exclusion_reason,omitempty" xml:"exclusion_reason,omitempty" validate:"required_if=ExcludedTender true"` TenderValue *Money `json:"tender_value,omitempty" xml:"tender_value,omitempty"` SubcontractingPercentage *float64 `json:"subcontracting_percentage,omitempty" xml:"subcontracting_percentage,omitempty" validate:"omitempty,min=0,max=100"` SMETender bool `json:"sme_tender" xml:"sme_tender"` ConcessionValue *Money `json:"concession_value,omitempty" xml:"concession_value,omitempty"` SubcontractorIDs []string `json:"subcontractor_ids,omitempty" xml:"subcontractor_ids,omitempty"` AbnormallyLow bool `json:"abnormally_low" xml:"abnormally_low"` AbnormallyLowExplanation string `json:"abnormally_low_explanation,omitempty" xml:"abnormally_low_explanation,omitempty" validate:"max=10000"` }