codice

package module
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2021 License: MIT Imports: 16 Imported by: 0

README

codice

A CODICE¹ parser for files downloaded from https://contrataciondelestado.es, written in Go.

codice fetches zip/7z files found in the Spanish govt procurement website², and outputs a series of CSV files out of the XMLs inside those archives.

Usage

Get your binary from https://github.com/juanfont/codice/releases/

And then just run:

./codice zip https://contrataciondelestado.es/sindicacion/sindicacion_643/licitacionesPerfilesContratanteCompleto3_2016.zip output_prefix

Alternatively, you can read an already-download zip from your disk:

./codice zip licitacionesPerfilesContratanteCompleto3_2016.zip output_prefix

In both cases you'll get:

Entries rows written to output_prefix_entries.csv
Modifications rows written to output_prefix_modifications.csv
Financial Guarantee rows written to output_prefix_financial_guarantees.csv

Note: Sometimes an entry might appear multiple times within the same zip. This happens when the date on a procurement process is updated within the same year. You can pass the flag --aggregate to keep only the most updated reference to these entries.

./codice zip https://contrataciondelestado.es/sindicacion/sindicacion_643/licitacionesPerfilesContratanteCompleto3_2016.zip output_prefix --aggregate

Disclaimer

CSV is a rather limited format. codice has an opinionated way to flatten the CODICE XMLs.

Just ping juanfontalonso@gmail.com if you find any issue.


¹: https://contrataciondelestado.es/wps/portal/CODICEInfo

²: https://www.hacienda.gob.es/es-ES/GobiernoAbierto/Datos%20Abiertos/Paginas/licitaciones_plataforma_contratacion.aspx

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CodiceApp

type CodiceApp struct {
	// contains filtered or unexported fields
}

func NewCodiceApp

func NewCodiceApp() (*CodiceApp, error)

func (*CodiceApp) FlattenToCsv

func (c *CodiceApp) FlattenToCsv(entries *[]Entry, outputPrefix string) error

FlattenToCsv takes a slice of Entry and flattens it into a series of csv files.

func (*CodiceApp) LoadWebZip

func (c *CodiceApp) LoadWebZip(url string, aggregateEntries bool) (*[]Entry, error)

LoadZip downloads a zip file from a HTTP server and parses its content

func (*CodiceApp) LoadXMLFromFs

func (c *CodiceApp) LoadXMLFromFs(path string, aggregateEntries bool) (*[]Entry, error)

LoadXMLFromFs loads a XML from contrataciondelestado.es from the file system

type CodiceEntry

type CodiceEntry struct {
	EntryID    string    `csv:"entry_id"`
	Updated    time.Time `csv:"updated"`
	FolderID   string    `csv:"folder_id"`
	Title      string    `csv:"title"`
	Summary    string    `csv:"summary"`
	StatusCode string    `csv:"status_code"`

	ContractingPartyIdentification         string `csv:"contracting_party_identification"`
	ContractingPartyName                   string `csv:"contracting_party_name"`
	ContractingPartyWebsite                string `csv:"contracting_party_website"`
	ContractingPartyType                   string `csv:"contracting_party_type"`
	ContractingPartyParentLocatedPartyName string `csv:"contracting_party_parent_name"`

	TypeCode          string `csv:"type_code"`
	SubTypeCode       string `csv:"type_sub_code"`
	CPVClassification string `csv:"cpv_classification_codes"`

	TechnicalInstructionsURL string `csv:"technical_instructions_url"`

	BudgetEstimatedOverallContractAmount string `csv:"budget_estimated_amount"`
	BudgetTotalAmount                    string `csv:"budget_total_amount"`
	BudgetTaxExclusiveAmount             string `csv:"budget_exc_tax_amount"`

	RealizedLocationCountrySubentity     string `csv:"realized_location_country_subentity"`
	RealizedLocationCountrySubentityCode string `csv:"realized_location_country_subentity_code"`
	RealizedLocationAddressCountry       string `csv:"realized_location_address_country"`
	RealizedLocationAddressCountryCode   string `csv:"realized_location_address_country_code"`
	RealizedLocationAddressCityName      string `csv:"realized_location_address_city"`
	RealizedLocationAddressPostalZone    string `csv:"realized_location_address_postal_zone"`
	RealizedLocationAddressAddressLine   string `csv:"realized_location_address_address_line"`

	PlannedPeriodDurationMeasure         string `csv:"planned_period_duration"`
	PlannedPeriodDurationMeasureUnitCode string `csv:"planned_period_duration_unit_code"`
	PlannedPeriodStartDate               string `csv:"planned_period_duration_start_date"`
	PlannedPeriodEndDate                 string `csv:"planned_period_duration_end_date"`

	ContractExtensionOptionsDescription        string `csv:"contract_extension_options_description"`
	ContractExtensionValidityPeriodDescription string `csv:"contract_extension_validity_period_description"`

	LotID                 string `csv:"lot_id"`
	LotName               string `csv:"lot_name"`
	LotTotalAmount        string `csv:"lot_total_amount"`
	LotTaxExclusiveAmount string `csv:"lot_exc_tax_amount"`
	LotCPVClassification  string `csv:"lot_cpv_classification_codes"`

	TenderResultCode         string `csv:"tender_result_code"`
	TenderDescription        string `csv:"tender_description"`
	TenderContractID         string `csv:"tender_contract_id"`
	TenderContractIssueDate  string `csv:"tender_contract_issue_date"`
	TenderWinningPartyID     string `csv:"tender_winning_party_id"`
	TenderWinningPartyName   string `csv:"tender_winning_party_name"`
	TenderWinningPartyScheme string `csv:"tender_winning_party_scheme"`
	TenderPayableAmount      string `csv:"tender_payable_amount"`
	TenderTaxExclusiveAmount string `csv:"tender_exc_tax_amount"`

	TenderStartDate              string `csv:"tender_start_date"`
	TenderAwardDate              string `csv:"tender_award_date"`
	TenderReceivedTenderQuantity string `csv:"tender_received_quantity"`
	TenderLowerLenderAmount      string `csv:"tender_lower_lender_amount"`
	TenderHigherTenderAmount     string `csv:"tender_higher_lender_amount"`

	TenderingTermsFundingProgram                  string `csv:"tendering_terms_funding_program"`
	TenderingTermsFundingProgramCode              string `csv:"tendering_terms_funding_program_code"`
	TenderingTermsLanguage                        string `csv:"tendering_terms_language"`
	TenderingTermsLRequiredCurriculaIndicator     string `csv:"tendering_terms_required_curricula_indicator"`
	TenderingTermsVariantConstraintIndicator      string `csv:"tendering_terms_variant_constraint_indicator"`
	TenderingTermsPriceRevisionFormulaDescription string `csv:"tendering_terms_price_revision_formula_description"`
	TenderingTermsSubcontractTermsRate            string `csv:"tendering_terms_subcontract_terms_rate"`
	TenderingTermsSubcontractTermsDescription     string `csv:"tendering_terms_subcontract_terms_description"`

	TenderingProcessProcedureCode         string `csv:"tendering_process_procedure_code"`
	TenderingProcessContractingSystemCode string `csv:"tendering_process_contracting_system_code"`
	TenderingProcessUrgencyCode           string `csv:"tendering_process_urgency_code"`
	TenderingProcessSubmissionMethodCode  string `csv:"tendering_process_submission_method_code"`
	TenderingProcessSubmissionEndDate     string `csv:"tendering_process_submission_end_date"`
	TenderingProcessSubmissionEndTime     string `csv:"tendering_process_submission_end_time"`

	TenderingProcessEconomicOperatorLimitationDescription string `csv:"tendering_process_economic_operator_limitation_description"`
	TenderingProcessEconomicOperatorExpectedQuantity      string `csv:"tendering_process_economic_operator_expected_quantity"`
	TenderingProcessEconomicOperatorMaximumQuantity       string `csv:"tendering_process_economic_operator_maximum_quantity"`
	TenderingProcessEconomicOperatorMinimunQuantity       string `csv:"tendering_process_economic_operator_minimum_quantity"`
}

type Entry

type Entry struct {
	Text string `xml:",chardata"`
	ID   string `xml:"id"`
	Link struct {
		Text string `xml:",chardata"`
		Href string `xml:"href,attr"`
	} `xml:"link"`
	Summary struct {
		Text string `xml:",chardata"`
		Type string `xml:"type,attr"`
	} `xml:"summary"`
	Title                string    `xml:"title"`
	Updated              time.Time `xml:"updated"`
	ContractFolderStatus struct {
		Text                     string `xml:",chardata"`
		ContractFolderID         string `xml:"ContractFolderID"`
		ContractFolderStatusCode struct {
			Text       string `xml:",chardata"`
			LanguageID string `xml:"languageID,attr"`
			ListURI    string `xml:"listURI,attr"`
		} `xml:"ContractFolderStatusCode"`
		LocatedContractingParty struct {
			Text                     string `xml:",chardata"`
			ContractingPartyTypeCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"ContractingPartyTypeCode"`
			Party struct {
				Text                string `xml:",chardata"`
				WebsiteURI          string `xml:"WebsiteURI"`
				PartyIdentification struct {
					Text string `xml:",chardata"`
					ID   struct {
						Text       string `xml:",chardata"`
						SchemeName string `xml:"schemeName,attr"`
					} `xml:"ID"`
				} `xml:"PartyIdentification"`
				PartyName struct {
					Text string `xml:",chardata"`
					Name string `xml:"Name"`
				} `xml:"PartyName"`
				PostalAddress struct {
					Text        string `xml:",chardata"`
					CityName    string `xml:"CityName"`
					PostalZone  string `xml:"PostalZone"`
					AddressLine struct {
						Text string `xml:",chardata"`
						Line string `xml:"Line"`
					} `xml:"AddressLine"`
					Country struct {
						Text               string `xml:",chardata"`
						IdentificationCode struct {
							Text    string `xml:",chardata"`
							ListURI string `xml:"listURI,attr"`
						} `xml:"IdentificationCode"`
						Name string `xml:"Name"`
					} `xml:"Country"`
				} `xml:"PostalAddress"`
				Contact struct {
					Text           string `xml:",chardata"`
					Name           string `xml:"Name"`
					Telephone      string `xml:"Telephone"`
					Telefax        string `xml:"Telefax"`
					ElectronicMail string `xml:"ElectronicMail"`
				} `xml:"Contact"`
			} `xml:"Party"`
			ParentLocatedParty struct {
				Text      string `xml:",chardata"`
				PartyName struct {
					Text string `xml:",chardata"`
					Name string `xml:"Name"`
				} `xml:"PartyName"`
				ParentLocatedParty struct {
					Text      string `xml:",chardata"`
					PartyName struct {
						Text string `xml:",chardata"`
						Name string `xml:"Name"`
					} `xml:"PartyName"`
					ParentLocatedParty struct {
						Text      string `xml:",chardata"`
						PartyName struct {
							Text string `xml:",chardata"`
							Name string `xml:"Name"`
						} `xml:"PartyName"`
						ParentLocatedParty struct {
							Text      string `xml:",chardata"`
							PartyName struct {
								Text string `xml:",chardata"`
								Name string `xml:"Name"`
							} `xml:"PartyName"`
							ParentLocatedParty struct {
								Text      string `xml:",chardata"`
								PartyName struct {
									Text string `xml:",chardata"`
									Name string `xml:"Name"`
								} `xml:"PartyName"`
								ParentLocatedParty struct {
									Text      string `xml:",chardata"`
									PartyName struct {
										Text string `xml:",chardata"`
										Name string `xml:"Name"`
									} `xml:"PartyName"`
								} `xml:"ParentLocatedParty"`
							} `xml:"ParentLocatedParty"`
						} `xml:"ParentLocatedParty"`
					} `xml:"ParentLocatedParty"`
				} `xml:"ParentLocatedParty"`
			} `xml:"ParentLocatedParty"`
		} `xml:"LocatedContractingParty"`
		ProcurementProject struct {
			Text     string `xml:",chardata"`
			Name     string `xml:"Name"`
			TypeCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"TypeCode"`
			SubTypeCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"SubTypeCode"`
			BudgetAmount struct {
				Text                           string `xml:",chardata"`
				EstimatedOverallContractAmount struct {
					Text       string `xml:",chardata"`
					CurrencyID string `xml:"currencyID,attr"`
				} `xml:"EstimatedOverallContractAmount"`
				TotalAmount struct {
					Text       string `xml:",chardata"`
					CurrencyID string `xml:"currencyID,attr"`
				} `xml:"TotalAmount"`
				TaxExclusiveAmount struct {
					Text       string `xml:",chardata"`
					CurrencyID string `xml:"currencyID,attr"`
				} `xml:"TaxExclusiveAmount"`
			} `xml:"BudgetAmount"`
			RequiredCommodityClassification []struct {
				Text                   string `xml:",chardata"`
				ItemClassificationCode struct {
					Text    string `xml:",chardata"`
					ListURI string `xml:"listURI,attr"`
				} `xml:"ItemClassificationCode"`
			} `xml:"RequiredCommodityClassification"`
			RealizedLocation struct {
				Text                 string `xml:",chardata"`
				CountrySubentity     string `xml:"CountrySubentity"`
				CountrySubentityCode struct {
					Text    string `xml:",chardata"`
					ListURI string `xml:"listURI,attr"`
				} `xml:"CountrySubentityCode"`
				Address struct {
					Text    string `xml:",chardata"`
					Country struct {
						Text               string `xml:",chardata"`
						IdentificationCode struct {
							Text    string `xml:",chardata"`
							ListURI string `xml:"listURI,attr"`
						} `xml:"IdentificationCode"`
						Name string `xml:"Name"`
					} `xml:"Country"`
					CityName    string `xml:"CityName"`
					PostalZone  string `xml:"PostalZone"`
					AddressLine struct {
						Text string `xml:",chardata"`
						Line string `xml:"Line"`
					} `xml:"AddressLine"`
				} `xml:"Address"`
			} `xml:"RealizedLocation"`
			PlannedPeriod struct {
				Text            string `xml:",chardata"`
				DurationMeasure struct {
					Text     string `xml:",chardata"`
					UnitCode string `xml:"unitCode,attr"`
				} `xml:"DurationMeasure"`
				StartDate string `xml:"StartDate"`
				EndDate   string `xml:"EndDate"`
			} `xml:"PlannedPeriod"`
			ContractExtension struct {
				Text                 string `xml:",chardata"`
				OptionsDescription   string `xml:"OptionsDescription"`
				OptionValidityPeriod struct {
					Text        string `xml:",chardata"`
					Description string `xml:"Description"`
				} `xml:"OptionValidityPeriod"`
			} `xml:"ContractExtension"`
		} `xml:"ProcurementProject"`
		TenderResult   []TenderResult `xml:"TenderResult"`
		TenderingTerms struct {
			Text                       string `xml:",chardata"`
			VariantConstraintIndicator string `xml:"VariantConstraintIndicator"`
			Language                   struct {
				Text string `xml:",chardata"`
				ID   string `xml:"ID"`
			} `xml:"Language"`
			RequiredFinancialGuarantee []struct {
				Text              string `xml:",chardata"`
				GuaranteeTypeCode struct {
					Text    string `xml:",chardata"`
					ListURI string `xml:"listURI,attr"`
				} `xml:"GuaranteeTypeCode"`
				AmountRate      string `xml:"AmountRate"`
				LiabilityAmount struct {
					Text       string `xml:",chardata"`
					CurrencyID string `xml:"currencyID,attr"`
				} `xml:"LiabilityAmount"`
			} `xml:"RequiredFinancialGuarantee"`
			TendererQualificationRequest struct {
				Text                        string `xml:",chardata"`
				TechnicalEvaluationCriteria []struct {
					Text                       string `xml:",chardata"`
					EvaluationCriteriaTypeCode struct {
						Text    string `xml:",chardata"`
						ListURI string `xml:"listURI,attr"`
					} `xml:"EvaluationCriteriaTypeCode"`
					Description string `xml:"Description"`
				} `xml:"TechnicalEvaluationCriteria"`
				FinancialEvaluationCriteria []struct {
					Text                       string `xml:",chardata"`
					EvaluationCriteriaTypeCode struct {
						Text    string `xml:",chardata"`
						ListURI string `xml:"listURI,attr"`
					} `xml:"EvaluationCriteriaTypeCode"`
					Description string `xml:"Description"`
				} `xml:"FinancialEvaluationCriteria"`
				SpecificTendererRequirement []struct {
					Text                string `xml:",chardata"`
					RequirementTypeCode struct {
						Text    string `xml:",chardata"`
						ListURI string `xml:"listURI,attr"`
					} `xml:"RequirementTypeCode"`
				} `xml:"SpecificTendererRequirement"`
				Description                          string `xml:"Description"`
				RequiredBusinessClassificationScheme struct {
					Text                   string `xml:",chardata"`
					ID                     string `xml:"ID"`
					ClassificationCategory []struct {
						Text      string `xml:",chardata"`
						CodeValue string `xml:"CodeValue"`
					} `xml:"ClassificationCategory"`
				} `xml:"RequiredBusinessClassificationScheme"`
				PersonalSituation string `xml:"PersonalSituation"`
			} `xml:"TendererQualificationRequest"`
			FundingProgramCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"FundingProgramCode"`
			AllowedSubcontractTerms struct {
				Text        string `xml:",chardata"`
				Rate        string `xml:"Rate"`
				Description string `xml:"Description"`
			} `xml:"AllowedSubcontractTerms"`
			PriceRevisionFormulaDescription string `xml:"PriceRevisionFormulaDescription"`
			FundingProgram                  string `xml:"FundingProgram"`
			RequiredCurriculaIndicator      string `xml:"RequiredCurriculaIndicator"`
		} `xml:"TenderingTerms"`
		TenderingProcess struct {
			Text          string `xml:",chardata"`
			ProcedureCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"ProcedureCode"`
			UrgencyCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"UrgencyCode"`
			SubmissionMethodCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"SubmissionMethodCode"`
			TenderSubmissionDeadlinePeriod struct {
				Text        string `xml:",chardata"`
				EndDate     string `xml:"EndDate"`
				EndTime     string `xml:"EndTime"`
				Description string `xml:"Description"`
			} `xml:"TenderSubmissionDeadlinePeriod"`
			DocumentAvailabilityPeriod struct {
				Text    string `xml:",chardata"`
				EndDate string `xml:"EndDate"`
				EndTime string `xml:"EndTime"`
			} `xml:"DocumentAvailabilityPeriod"`
			ContractingSystemCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"ContractingSystemCode"`
			EconomicOperatorShortList struct {
				Text                  string `xml:",chardata"`
				ExpectedQuantity      string `xml:"ExpectedQuantity"`
				MaximumQuantity       string `xml:"MaximumQuantity"`
				MinimumQuantity       string `xml:"MinimumQuantity"`
				LimitationDescription string `xml:"LimitationDescription"`
			} `xml:"EconomicOperatorShortList"`
		} `xml:"TenderingProcess"`
		LegalDocumentReference struct {
			Text       string `xml:",chardata"`
			ID         string `xml:"ID"`
			Attachment struct {
				Text              string `xml:",chardata"`
				ExternalReference struct {
					Text         string `xml:",chardata"`
					URI          string `xml:"URI"`
					DocumentHash string `xml:"DocumentHash"`
				} `xml:"ExternalReference"`
			} `xml:"Attachment"`
		} `xml:"LegalDocumentReference"`
		TechnicalDocumentReference struct {
			Text       string `xml:",chardata"`
			ID         string `xml:"ID"`
			Attachment struct {
				Text              string `xml:",chardata"`
				ExternalReference struct {
					Text         string `xml:",chardata"`
					URI          string `xml:"URI"`
					DocumentHash string `xml:"DocumentHash"`
				} `xml:"ExternalReference"`
			} `xml:"Attachment"`
		} `xml:"TechnicalDocumentReference"`
		ValidNoticeInfo []struct {
			Text           string `xml:",chardata"`
			NoticeTypeCode struct {
				Text    string `xml:",chardata"`
				ListURI string `xml:"listURI,attr"`
			} `xml:"NoticeTypeCode"`
			AdditionalPublicationStatus []struct {
				Text                                   string `xml:",chardata"`
				PublicationMediaName                   string `xml:"PublicationMediaName"`
				AdditionalPublicationDocumentReference []struct {
					Text      string `xml:",chardata"`
					IssueDate string `xml:"IssueDate"`
				} `xml:"AdditionalPublicationDocumentReference"`
			} `xml:"AdditionalPublicationStatus"`
		} `xml:"ValidNoticeInfo"`
		AdditionalDocumentReference []struct {
			Text       string `xml:",chardata"`
			ID         string `xml:"ID"`
			Attachment struct {
				Text              string `xml:",chardata"`
				ExternalReference struct {
					Text         string `xml:",chardata"`
					URI          string `xml:"URI"`
					DocumentHash string `xml:"DocumentHash"`
				} `xml:"ExternalReference"`
			} `xml:"Attachment"`
		} `xml:"AdditionalDocumentReference"`
		ProcurementProjectLot []struct {
			Text string `xml:",chardata"`
			ID   struct {
				Text       string `xml:",chardata"`
				SchemeName string `xml:"schemeName,attr"`
			} `xml:"ID"`
			ProcurementProject struct {
				Text         string `xml:",chardata"`
				Name         string `xml:"Name"`
				BudgetAmount struct {
					Text        string `xml:",chardata"`
					TotalAmount struct {
						Text       string `xml:",chardata"`
						CurrencyID string `xml:"currencyID,attr"`
					} `xml:"TotalAmount"`
					TaxExclusiveAmount struct {
						Text       string `xml:",chardata"`
						CurrencyID string `xml:"currencyID,attr"`
					} `xml:"TaxExclusiveAmount"`
				} `xml:"BudgetAmount"`
				RequiredCommodityClassification []struct {
					Text                   string `xml:",chardata"`
					ItemClassificationCode struct {
						Text    string `xml:",chardata"`
						ListURI string `xml:"listURI,attr"`
					} `xml:"ItemClassificationCode"`
				} `xml:"RequiredCommodityClassification"`
			} `xml:"ProcurementProject"`
		} `xml:"ProcurementProjectLot"`
		ContractModification []struct {
			Text                                string `xml:",chardata"`
			ID                                  string `xml:"ID"`
			Note                                string `xml:"Note"`
			ContractModificationDurationMeasure struct {
				Text     string `xml:",chardata"`
				UnitCode string `xml:"unitCode,attr"`
			} `xml:"ContractModificationDurationMeasure"`
			FinalDurationMeasure struct {
				Text     string `xml:",chardata"`
				UnitCode string `xml:"unitCode,attr"`
			} `xml:"FinalDurationMeasure"`
			ContractID                             string `xml:"ContractID"`
			ContractModificationLegalMonetaryTotal struct {
				Text               string `xml:",chardata"`
				TaxExclusiveAmount struct {
					Text       string `xml:",chardata"`
					CurrencyID string `xml:"currencyID,attr"`
				} `xml:"TaxExclusiveAmount"`
			} `xml:"ContractModificationLegalMonetaryTotal"`
			FinalLegalMonetaryTotal struct {
				Text               string `xml:",chardata"`
				TaxExclusiveAmount struct {
					Text       string `xml:",chardata"`
					CurrencyID string `xml:"currencyID,attr"`
				} `xml:"TaxExclusiveAmount"`
			} `xml:"FinalLegalMonetaryTotal"`
		} `xml:"ContractModification"`
	} `xml:"ContractFolderStatus"`
}

type Feed

type Feed struct {
	XMLName     xml.Name `xml:"feed"`
	Text        string   `xml:",chardata"`
	Xmlns       string   `xml:"xmlns,attr"`
	CbcPlaceExt string   `xml:"cbc-place-ext,attr"`
	CacPlaceExt string   `xml:"cac-place-ext,attr"`
	Cbc         string   `xml:"cbc,attr"`
	Cac         string   `xml:"cac,attr"`
	Ns1         string   `xml:"ns1,attr"`
	Author      struct {
		Text  string `xml:",chardata"`
		Name  string `xml:"name"`
		URI   string `xml:"uri"`
		Email string `xml:"email"`
	} `xml:"author"`
	ID   string `xml:"id"`
	Link []struct {
		Text string `xml:",chardata"`
		Href string `xml:"href,attr"`
		Rel  string `xml:"rel,attr"`
	} `xml:"link"`
	Title   string  `xml:"title"`
	Updated string  `xml:"updated"`
	Entry   []Entry `xml:"entry"`
}

type FinancialGuarantee

type FinancialGuarantee struct {
	EntryID                   string `csv:"entry_id"`
	FolderID                  string `csv:"folder_id"`
	GuaranteeTypeCode         string `csv:"guarantee_type_code"`
	AmountRate                string `csv:"amount_rate"`
	LiabilityAmount           string `csv:"liability_amount"`
	LiabilityAmountCurrencyID string `csv:"liability_amount_currency_id"`
}

type Modification

type Modification struct {
	EntryID                                string `csv:"entry_id"`
	ID                                     string `csv:"id"`
	FolderID                               string `csv:"folder_id"`
	Note                                   string `csv:"note"`
	ContractModificationDuration           string `csv:"duration"`
	ContractModificationDurationUnit       string `csv:"duration_unit"`
	ContractModificationFinalDuration      string `csv:"final_duration"`
	ContractModificationFinalDurationUnit  string `csv:"final_duration_unit"`
	ContractModificationLegalMonetaryTotal string `csv:"monetary_total_tax_exclusive"`
	FinalLegalMonetaryTotal                string `csv:"final_legal_tax_exclusive"`
}

type TenderResult

type TenderResult struct {
	Text       string `xml:",chardata"`
	ResultCode struct {
		Text    string `xml:",chardata"`
		ListURI string `xml:"listURI,attr"`
	} `xml:"ResultCode"`
	Description string `xml:"Description"`
	Contract    struct {
		Text      string `xml:",chardata"`
		IssueDate string `xml:"IssueDate"`
		ID        string `xml:"ID"`
	} `xml:"Contract"`
	WinningParty struct {
		Text                string `xml:",chardata"`
		PartyIdentification struct {
			Text string `xml:",chardata"`
			ID   struct {
				Text       string `xml:",chardata"`
				SchemeName string `xml:"schemeName,attr"`
			} `xml:"ID"`
		} `xml:"PartyIdentification"`
		PartyName struct {
			Text string `xml:",chardata"`
			Name string `xml:"Name"`
		} `xml:"PartyName"`
	} `xml:"WinningParty"`
	AwardedTenderedProject struct {
		Text               string `xml:",chardata"`
		LegalMonetaryTotal struct {
			Text               string `xml:",chardata"`
			TaxExclusiveAmount struct {
				Text       string `xml:",chardata"`
				CurrencyID string `xml:"currencyID,attr"`
			} `xml:"TaxExclusiveAmount"`
			PayableAmount struct {
				Text       string `xml:",chardata"`
				CurrencyID string `xml:"currencyID,attr"`
			} `xml:"PayableAmount"`
		} `xml:"LegalMonetaryTotal"`
		ProcurementProjectLotID string `xml:"ProcurementProjectLotID"`
	} `xml:"AwardedTenderedProject"`
	StartDate              string `xml:"StartDate"`
	AwardDate              string `xml:"AwardDate"`
	ReceivedTenderQuantity string `xml:"ReceivedTenderQuantity"`
	LowerTenderAmount      struct {
		Text       string `xml:",chardata"`
		CurrencyID string `xml:"currencyID,attr"`
	} `xml:"LowerTenderAmount"`
	HigherTenderAmount struct {
		Text       string `xml:",chardata"`
		CurrencyID string `xml:"currencyID,attr"`
	} `xml:"HigherTenderAmount"`
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL