public XDocument Serialize()
 {
     return(new XDocument(new XElement(EspdNames.Qarq + nameof(QualificationApplicationRequest),
                                       new XAttribute(XNamespace.Xmlns + "cbc", UblNames.Cbc),
                                       new XAttribute(XNamespace.Xmlns + "cac", UblNames.Cac),
                                       UBLVersionID.Serialize(nameof(UBLVersionID)),
                                       CustomizationID.Serialize(nameof(CustomizationID)),
                                       ProfileID.Serialize(nameof(ProfileID)),
                                       ProfileExecutionID.Serialize(nameof(ProfileExecutionID)),
                                       ID?.Serialize(nameof(ID)),
                                       CopyIndicator.Serialize(nameof(CopyIndicator)),
                                       UUID.Serialize(nameof(UUID)),
                                       ContractFolderID.Serialize(nameof(ContractFolderID)),
                                       IssueDate.Serialize(nameof(IssueDate)),
                                       IssueTime.Serialize(nameof(IssueTime)),
                                       VersionID.Serialize(nameof(VersionID)),
                                       PreviousVersionID.Serialize(nameof(PreviousVersionID)),
                                       ProcedureCode.Serialize(nameof(ProcedureCode)),
                                       QualificationApplicationTypeCode.Serialize(nameof(QualificationApplicationTypeCode)),
                                       WeightScoringMethodologyNote.Serialize(nameof(WeightScoringMethodologyNote)),
                                       WeightingTypeCode.Serialize(nameof(WeightingTypeCode)),
                                       ContractingParty?.Serialize(),
                                       ProcurementProject?.Serialize(),
                                       ProcurementProjectLots?.Select(lot => lot.Serialize()),
                                       TenderingCriteria?.Select(c => c.Serialize()),
                                       AdditionalDocumentReferences?.Select(d => d.Serialize())
                                       )));
 }