import { WithMongooseProps } from './with-mongoose-props'; import { WithTenantProps } from './with-tenant-props'; import { WithTranslations } from './with-translations'; import { Document } from './document'; import { AggregationPage } from './aggregation-page'; import { WebAppCategory } from './category'; import { EntityType } from './entity-type'; import { TenderType, TenderPhaseType, TenderPhaseStatus, TenderProcedureType, TenderContractSector, NoticeType, DebateType, EvaluationOutcome, SponsorshipType, InterventionType } from '../constants'; export type TenderPublicDebate = { debateType?: DebateType; debateDocumentId?: string; debateDocument?: Document; debateOutcomeId?: string; debateOutcome?: Document; }; export type TenderEvaluationCommittee = { hasCommittee?: boolean; composition?: string; compositionDocumentId?: string; compositionDocument?: Document; membersCount?: number; membersCvIds?: string[]; membersCvs?: Document[]; nominationActId?: string; nominationAct?: Document; }; export type TenderEqualOpportunities = { hasOver50Employees?: boolean; genderReportId?: string; genderReport?: Document; }; export type TenderTechnicalBoard = { hasBoard?: boolean; composition?: string; compositionDocumentId?: string; compositionDocument?: Document; membersCount?: number; nominationActId?: string; nominationAct?: Document; }; export type TenderPostContractCompliance = { hasCompliance?: boolean; complianceReportId?: string; complianceReport?: Document; verificationDate?: string; }; export type TenderPhaseBase = WithMongooseProps>; export type TenderPublicationPhase = TenderPhaseBase & { phaseType: 'Publication'; publicDebate?: TenderPublicDebate; contractingResolutionId?: string; contractingResolution?: Document; noticeType?: NoticeType; noticeId?: string; notice?: Document; disciplinaryId?: string; disciplinary?: Document; technicalSpecificationsId?: string; technicalSpecifications?: Document; contractConditionsId?: string; contractConditions?: Document; }; export type TenderAwardPhase = TenderPhaseBase & { phaseType: 'Award'; evaluationCommittee?: TenderEvaluationCommittee; equalOpportunities?: TenderEqualOpportunities; awardResolutionId?: string; awardResolution?: Document; awardDate?: string; winnerName?: string; winnerVatNumber?: string; awardAmount?: number; }; export type TenderExecutionPhase = TenderPhaseBase & { phaseType: 'Execution'; technicalBoard?: TenderTechnicalBoard; postContractCompliance?: TenderPostContractCompliance; contractId?: string; contract?: Document; contractStartDate?: string; contractEndDate?: string; contractAmount?: number; salId?: string; sal?: Document; completionCertificateId?: string; completionCertificate?: Document; regularExecutionCertificateId?: string; regularExecutionCertificate?: Document; collaudoId?: string; collaudo?: Document; }; export type TenderSponsorshipPhase = TenderPhaseBase & { phaseType: 'Sponsorship'; sponsorshipType?: SponsorshipType; sponsorshipNoticeId?: string; sponsorshipNotice?: Document; sponsorshipContractId?: string; sponsorshipContract?: Document; sponsorName?: string; sponsorshipValue?: number; }; export type TenderProjectFinancePhase = TenderPhaseBase & { phaseType: 'ProjectFinance'; proposalId?: string; proposal?: Document; feasibilityStudyId?: string; feasibilityStudy?: Document; evaluationOutcome?: EvaluationOutcome; evaluationReportId?: string; evaluationReport?: Document; }; export type TenderLocalPublicServicePhase = TenderPhaseBase & { phaseType: 'LocalPublicService'; serviceContractId?: string; serviceContract?: Document; serviceCharterId?: string; serviceCharter?: Document; qualityReportIds?: string[]; qualityReports?: Document[]; }; export type TenderEmergencyPhase = TenderPhaseBase & { phaseType: 'Emergency'; interventionType?: InterventionType; emergencyDecreeId?: string; emergencyDecree?: Document; urgencyReportId?: string; urgencyReport?: Document; completionReportId?: string; completionReport?: Document; emergencyAmount?: number; }; export type TenderPhase = TenderPublicationPhase | TenderAwardPhase | TenderExecutionPhase | TenderSponsorshipPhase | TenderProjectFinancePhase | TenderLocalPublicServicePhase | TenderEmergencyPhase; export type TenderTranslations = { object: string; }; export type TenderRup = { name: string; fiscalCode?: string; role?: string; email?: string; phone?: string; }; export type Tender = WithMongooseProps; pageUrl: string; currentPhaseId?: string; currentPhaseType?: TenderPhaseType; currentPhase?: TenderPhase; phases?: TenderPhase[]; expirationJobId?: string; updatedById?: string; }>>;