### Developer Guide - Start Here
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-724.html
Getting started guide for the eForms SDK developer guide.
```APIDOC
## Developer Guide - Start Here
### Description
An introductory guide to help developers begin using the eForms SDK.
```
--------------------------------
### eForms SDK - Start Here
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-31.html
Getting started guide for the eForms SDK.
```APIDOC
## eForms SDK - Start Here
### Start Here
```
--------------------------------
### eForms SDK - Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-262.html
A guide for developers working with the eForms SDK, covering setup, understanding, and working with the SDK.
```APIDOC
## eForms SDK - Developer Guide (v1.13)
### Description
This guide assists developers in understanding and utilizing the eForms SDK. It covers initial setup, core concepts, and practical workflows.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
### Sections
* Start Here
* Understanding the SDK
* SDK glossary
* Working with the SDK (Create forms, Generate XML, Visualize notices, Validate notices)
* Working without the SDK
```
--------------------------------
### Install model2owl
Source: https://docs.ted.europa.eu/M2O/latest/user-guide/how-to-use.html
Run this command after cloning the repository to install the model2owl tool. This may require make.
```bash
make install
```
--------------------------------
### XML Examples
Source: https://docs.ted.europa.eu/ESPD-EDM/3.1.0/6.ESPD_Response_Document.html
Illustrative XML examples for ESPD-EDM.
```APIDOC
### Example 1: Two different evidences for two criteria
The following snippet uses the same two criteria shown in the XML example snippet 1.a): hence the values of the cac:ValidatedCriterionPropertyID are 'd8d5478e-cc65-48c9-a189-19bbe87a9bfd' (criterion property 'participation in a criminal organisation') and '7c7fb445-c5f9-4f92-8b58-7f06a541951f' (criterion property 'contributions certificates').
```
--------------------------------
### Example Transformation Command
Source: https://docs.ted.europa.eu/M2O/latest/user-guide/how-to-use.html
An example of how to execute the 'make owl-core' command with specified input file path and output folder path.
```bash
make owl-core XMI_INPUT_FILE_PATH=/home/mypc/work/model2owl/file1.xml OUTPUT_FOLDER_PATH=./my-folder
```
--------------------------------
### ESPD-EDM XML Examples
Source: https://docs.ted.europa.eu/ESPD-EDM/3.3.0/technical/tech_selection_criteria.html
Provides links to the ESPD-EDM XML examples for ESPD Request and Response on GitHub. These examples are useful for understanding the data structures and implementation details.
```xml
https://github.com/OP-TED/ESPD-EDM/blob/v3.3.0/xml-examples/ESPD-Response.xml#L3791
```
--------------------------------
### Complete Economic Operator Party Example
Source: https://docs.ted.europa.eu/ESPD-EDM/1.0.2/index_response.html
A comprehensive example demonstrating the structure of the EconomicOperatorParty component within the ESPD Service.
```xml
false
B20779081
Wayne Enterprises
1000
Rue Melsens 3
Brussels
BE
Bruce Wayne
01 234 56 78
wayne@enterprises.com
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-156.html
A guide for developers working with the eForms SDK, covering setup, usage, and best practices.
```APIDOC
## eForms SDK Developer Guide (v1.13)
### Description
This guide assists developers in understanding and utilizing the eForms SDK, including working with forms, generating XML, and validating notices.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
### Related Resources
- Start Here
- Understanding the SDK
- SDK glossary
- Working with the SDK
- Create the forms
- Generate XML
- Visualise notices
- Validate notices
- Working without the SDK
```
--------------------------------
### eForms SDK - Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-19.html
Guides for developers working with the eForms SDK, covering understanding the SDK, working with it, and alternatives.
```APIDOC
## eForms SDK - Developer Guide
### Description
Guides developers on how to understand and work with the eForms SDK, including creating forms, generating XML, and visualizing notices.
### Endpoint
N/A (Documentation)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK - Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-36.html
Guides for developers working with the eForms SDK, covering understanding and working with the SDK.
```APIDOC
## eForms SDK - Developer Guide (Version 1.13)
### Description
This guide provides instructions for developers on how to understand and work with the eForms SDK, including creating forms, generating XML, and validating notices.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
### Key Topics
- Start Here
- Understanding the SDK
- SDK glossary
- Working with the SDK
- Create the forms
- Generate XML
- Visualise notices
- Validate notices
- Working without the SDK
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/OPT-301.html
A guide for developers on how to use the eForms SDK version 1.14, including understanding the SDK, working with it, and sample applications.
```APIDOC
## eForms SDK Developer Guide (1.14)
### Description
This guide assists developers in utilizing the eForms SDK version 1.14, covering its core concepts and practical usage.
### Endpoint
N/A
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### Complete cac:ContractingParty XML Example
Source: https://docs.ted.europa.eu/ESPD-EDM/1.0.2/index_response.html
A full example of the cac:ContractingParty structure including party name, address, and contact information.
```xml
Executive Agency for Small and Medium-sized Enterprises (EASME)
BE
```
--------------------------------
### eForms SDK - Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-01.html
Guides developers on how to understand and work with the eForms SDK, including creating forms, generating XML, and validating notices.
```APIDOC
## eForms SDK - Developer Guide
### Description
This guide assists developers in understanding and utilizing the eForms SDK. It covers topics such as creating forms, generating XML, and validating notices.
### Endpoint
N/A (Documentation Section)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-120.html
Guides developers on understanding and working with the eForms SDK, including creating forms, generating XML, and visualizing notices.
```APIDOC
## Developer Guide
### Description
This guide assists developers in understanding and utilizing the eForms SDK effectively.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
## Working with the SDK
### Description
Instructions on how to work with the eForms SDK, covering form creation, XML generation, and notice visualization.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
## Working without the SDK
### Description
Guidance on how to work with eForms without directly using the SDK.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-509.html
A guide for developers on how to work with the eForms SDK version 1.13, including understanding the SDK and working with forms and notices.
```APIDOC
## eForms SDK Developer Guide (v1.13)
### Description
This guide assists developers in understanding and utilizing the eForms SDK version 1.13. It covers starting with the SDK, understanding its components, and practical guidance on creating forms, generating XML, visualizing, and validating notices.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
### Topics Covered
- Start Here
- Understanding the SDK
- SDK glossary
- Working with the SDK (Create forms, Generate XML, Visualise notices, Validate notices)
- Working without the SDK
```
--------------------------------
### XML Examples and Structure Guidance
Source: https://docs.ted.europa.eu/ESPD-EDM/3.2.0/3.Common_aspects_for_criteria.html
Guidance on XML implementation and structure, referencing examples and explaining the usage of elements like cbc:Name and cac:Description.
```APIDOC
## XML Examples and Structure Guidance
### XML Examples
1. See examples in sections about exclusion and selection criteria.
2. You will notice in the examples that the element `cbc:Name` is never used. Instead the `cac:Description` is sufficient for all the ESPD purposes.
### Mock-ups
Chapters **4 Exclusion Criteria** and **5. Selection Criteria** describe in detail the different **types** of exclusion and selection criteria defined and used in the ESPD-EDM. By **type** of criterion we refer to criteria that share common characteristics, namely how they are structured.
Each type of criterion is presented from three perspectives:
1. **Layout and functional**: Mock-ups are provided to explain which data are expected and, to some extent, how software applications should behave (what to show/hide, validate or process depending on variables like 'what the user answers' or 'which is the role of the user'). Mock-ups are provided for both the buyer and economic operator perspectives;
2. **Structural**: A spread-sheet book is provided with this document aimed to explain how each type of criterion is organised (the book contains different sheets (tabs). Each 'tab' shows the structure of one type of criterion (e.g. 'EG-Convictions', 'EG-Contributions', …, 'SC-Suitability', 'SC_References', etc.; where 'EG' stands for 'Exclusion Grounds', and 'SC' stands for 'Selection Criteria').
* ESPD-Criterion where the structures of the ESPD criteria are defined
3. **XML Implementation**: Each mock-up (or pair of Buyer + EO mock-ups) represent the structure represented in the data structure spread-sheet and in the supplied XML example. Whilst the mock-up and XML example are quite self-explanatory, to understand the value of the data structure spread-sheet needs to be explained; which is the mission of this very next sub-section below.
```
--------------------------------
### Duration Start and End Date Co-constraint (Part)
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-rules/index.html
Co-constraint for Duration Start (BT-536-Part) and End Date (BT-537-Part) ensuring the start is before the end.
```EFX
((BT-536-Part is present) and (BT-537-Part is present) and (BT-536-Part < BT-537-Part)) or not((BT-536-Part is present) and (BT-537-Part is present))
```
--------------------------------
### Developer Guide - Understanding the SDK
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-724.html
An overview of the eForms SDK architecture and concepts.
```APIDOC
## Developer Guide - Understanding the SDK
### Description
Provides a conceptual understanding of the eForms SDK, its components, and how it works.
```
--------------------------------
### Duration Start and End Date Co-constraint (Lot)
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-rules/index.html
Co-constraint for Duration Start (BT-536-Lot) and End Date (BT-537-Lot) ensuring the start is before the end.
```EFX
((BT-536-Lot is present) and (BT-537-Lot is present) and (BT-536-Lot < BT-537-Lot)) or not((BT-536-Lot is present) and (BT-537-Lot is present))
```
--------------------------------
### Output Directory Structure for Notice Files
Source: https://docs.ted.europa.eu/ODS/latest/mapping/reusing.html
Details the specific folder created within the /output directory for each example file, containing all generated artifacts for that sample.
```bash
/output/ for each example file a folder is created that contains all the generated artefacts for that sample file
```
--------------------------------
### Identifier Example
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-1378.html
Example of an identifier within the eForms SDK.
```APIDOC
## Identifier Example
### `BT-1378`: Selection Lot Identifier
- **Type**: IDENTIFIER
```
--------------------------------
### XML Implementation of Economic Operator Setup Criterion
Source: https://docs.ted.europa.eu/ESPD-EDM/1.0.2/index_response.html
This XML snippet demonstrates the implementation of the 'Set up of economic operator' criterion within the ESPD Service. It specifies the ID, type, name, and description of the criterion, along with legislative references and requirements for the economic operator's setup date.
```xml
77f481ce-ffb6-483f-8e2b-c78db5e68292
CRITERION.SELECTION.ECONOMIC_FINANCIAL_STANDING.TURNOVER.SET_UP
Set up of economic operator
In case the information concerning turnover (general or specific) is not available for the entire period required, please state the date on which the economic operator was set up or started trading:
DIRECTIVE 2014/24/EU OF THE EUROPEAN PARLIAMENT AND OF THE COUNCIL of 26 February 2014 on public procurement and repealing Directive 2004/18/EC
On public procurement and repealing Directive 2004/18/EC
EU_DIRECTIVE
58(3)
http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=celex:32014L0024
e9aa7763-c167-4352-8060-1a3d7d3e2662
a18b2c98-8552-45ca-9751-d4c94c05847a
Please specify
2014
```
--------------------------------
### Field Metadata Example
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-13714.html
Example of field metadata for 'Tender Lot Identifier'.
```APIDOC
## Field Metadata: Tender Lot Identifier
### Description
Represents the identifier for a tender lot.
### Fields
* **BT-13714**: Tender Lot Identifier
* **BT-13714-Tender**: Tender Lot Identifier
* **BT-13714-Tender-Scheme**: Tender Lot Identifier Scheme name
### Type
IDENTIFIER
```
--------------------------------
### XML Example of Service Provider Party Information
Source: https://docs.ted.europa.eu/ESPD-EDM/3.1.0/2.ESPD_Request.html
This XML snippet demonstrates how to structure the expected data for a service provider, including their identification, name, address, website, and endpoint ID.
```xml
B82387770
Ministerio de Defensa
ES
http://www.minhafp.gob.es/es-ES/Areas%20Tematicas/Patrimonio%20del%20Estado/Contratacion%20del%20Sector%20Publico/Paginas/ROLECE.aspx
http://www.minhafp.gob.es/ESPD/endpoint
B36699932
Registro Oficial de Licitadores y Empresas Clasificadas (ROLECE)
ESP
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-1373.html
Guides developers on how to understand and work with the eForms SDK.
```APIDOC
## eForms SDK Developer Guide
### Description
This guide assists developers in understanding and utilizing the eForms SDK for creating, generating, and validating notices.
### Version
1.12
### Sections
- Start Here
- Understanding the SDK
- SDK glossary
- Working with the SDK
- Create the forms
- Generate XML
- Visualise notices
- Validate notices
- Working without the SDK
```
--------------------------------
### Field Metadata Example: OPP-080
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/OPP-080.html
Example of field metadata for 'Kilometers Public Transport'.
```APIDOC
## Field Metadata: OPP-080
### Description
This section details the fields related to 'Kilometers Public Transport' (OPP-080).
### Fields
- **OPP-080-Tender** (string) - Kilometers Public Transport
- **OPP-080-Tender-Unit** (string) - Kilometers Public Transport Unit
### Endpoint
N/A (Metadata Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK - Developer Guide
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-773.html
A guide for developers working with the eForms SDK, version 1.14.
```APIDOC
## eForms SDK - Developer Guide (1.14)
### Description
This guide assists developers in understanding and utilizing the eForms SDK version 1.14, covering topics from initial setup to working with the SDK.
### Endpoint
N/A
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### Sample Applications - Notice Viewer (Java)
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-724.html
Sample Java application for viewing notices.
```APIDOC
## Sample Applications - Notice Viewer (Java)
### Description
A sample Java application demonstrating how to view eForms notices.
```
--------------------------------
### Sample Applications
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-1373.html
Examples of applications built using the eForms SDK.
```APIDOC
## Sample Applications
### Description
Provides sample applications to demonstrate the usage of the eForms SDK.
### Applications
- Notice Viewer (Java)
- Notice Editor (Java)
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-22.html
Guides developers on how to work with the eForms SDK version 1.14.
```APIDOC
## eForms SDK Developer Guide
### Version
1.14
### Description
This guide provides instructions for developers on understanding and working with the eForms SDK, including creating forms, generating XML, visualizing notices, and validating notices. It also covers working without the SDK.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-132.html
Guide for developers working with the eForms SDK version 1.13.
```APIDOC
## eForms SDK Developer Guide v1.13
### Description
This guide assists developers in understanding and utilizing the eForms SDK version 1.13.
### Key Topics:
- Start Here
- Understanding the SDK
- SDK glossary
- Working with the SDK (Create forms, Generate XML, Visualize notices, Validate notices)
- Working without the SDK
```
--------------------------------
### eForms SDK - Developer Guide (Version 1.13)
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-800.html
Guidance for developers working with the eForms SDK, covering understanding the SDK, working with it, and alternatives.
```APIDOC
## eForms SDK - Developer Guide (1.13)
### Description
Guides developers on how to understand and work with the eForms SDK, including creating forms, generating XML, visualizing notices, and validating notices. Also covers working without the SDK.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK - Working with the SDK
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-31.html
Guide on how to work with the eForms SDK, including creating forms, generating XML, visualizing, and validating notices.
```APIDOC
## eForms SDK - Working with the SDK
### Working with the SDK
- **Create the forms**
- **Generate XML**
- **Visualise notices**
- **Validate notices**
```
--------------------------------
### eForms SDK Developer Guide
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-77.html
A guide for developers working with the eForms SDK, version 1.12.
```APIDOC
## eForms SDK Developer Guide (v1.12)
### Description
Provides a developer guide for the eForms SDK, version 1.12, covering topics like understanding the SDK, working with it, and sample applications.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### eForms SDK - Sample Applications
Source: https://docs.ted.europa.eu/eforms/latest/reference/business-terms/BT-787.html
Examples of sample applications built using the eForms SDK, including Notice Viewer and Notice Editor.
```APIDOC
## eForms SDK - Sample Applications (v1.14)
### Description
This section provides examples of sample applications developed using the eForms SDK.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
### Related Resources
- **Notice Viewer (Java)**: Sample application for viewing notices.
- **Notice Editor (Java)**: Sample application for editing notices.
```
--------------------------------
### inChangeNotice Property Example
Source: https://docs.ted.europa.eu/eforms/1.13/fields/index.html
An example demonstrating the 'inChangeNotice' property, which controls modifications in change notices.
```APIDOC
## inChangeNotice Property
### Description
The `inChangeNotice` property specifies whether a field's values can be modified within a change notice compared to the original notice. Constraints can be applied to restrict modifications under specific conditions.
### Method
N/A (Configuration structure)
### Endpoint
N/A (Configuration structure)
### Parameters
#### Request Body
- **inChangeNotice** (object)
- **value** (object)
- **canAdd** (boolean) - Optional - When false, all values in the change notice must also be in the original notice. Relevant only for repeatable fields. Defaults to true.
- **canModify** (boolean) - Optional - When false, the value in the change notice must be equal to the value in the original notice. Defaults to true.
- **canRemove** (boolean) - Optional - When false, all values in the original notice must also be in the change notice. Relevant only for repeatable fields. Defaults to true.
- **severity** (string) - Optional - The severity level for validation ('ERROR' or 'WARN').
### Request Example
```json
"inChangeNotice" : {
"value" : {
"canAdd" : false,
"canModify" : false,
"canRemove" : false
},
"severity" : "ERROR"
}
```
### Response
N/A (Configuration structure)
```
--------------------------------
### RequirementGroup ID Example
Source: https://docs.ted.europa.eu/ESPD-EDM/1.0.2/index_response.html
Example of a cbc:ID for a RequirementGroup. This attribute is mandatory and uses UUIDs.
```xml
7c637c0c-7703-4389-ba52-02997a055bd7
```
--------------------------------
### Sample Applications
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-23.html
Examples of sample applications built using the eForms SDK.
```APIDOC
## Sample Applications
### Description
Provides sample applications to demonstrate the usage of the eForms SDK.
### Notice Viewer (Java)
### Notice Editor (Java)
```
--------------------------------
### Sample Applications
Source: https://docs.ted.europa.eu/eforms/1.12/reference/business-terms/BT-137.html
Provides sample applications to demonstrate the usage of eForms SDK components, including a Notice Viewer and Notice Editor in Java.
```APIDOC
## Sample Applications
### Description
Sample applications are provided to illustrate the use of the eForms SDK. This includes a Notice Viewer and a Notice Editor, both developed in Java.
### Endpoint
N/A (Documentation Reference)
### Parameters
N/A
### Request Body
N/A
### Response
N/A
```
--------------------------------
### Selected Candidate List Start Date
Source: https://docs.ted.europa.eu/model2owl-boilerplate/demo_ontology/sds/demo_ontology_shapes.rdf
This endpoint allows retrieval of the start date for the selected candidate list.
```APIDOC
## GET /api/selected-candidate-list/start-date
### Description
Retrieves the start date associated with the selected candidate list.
### Method
GET
### Endpoint
/api/selected-candidate-list/start-date
### Parameters
None
### Response
#### Success Response (200)
- **hasStartDate** (Interval) - The start date of the selected candidate list.
#### Response Example
```json
{
"hasStartDate": {
"@type": "http://www.w3.org/2006/time#Interval",
"http://www.w3.org/2006/time#hasBeginning": {
"http://www.w3.org/2006/time#inXSDDate": "2024-02-01"
}
}
}
```
```
--------------------------------
### Create and Activate Virtual Environment
Source: https://docs.ted.europa.eu/M2O/latest/user-guide/how-to-use.html
If a virtual environment is not set up, use these commands to create and activate it for model2owl. This ensures project dependencies are isolated.
```bash
make create-virtual-env
```
```bash
source model2owl-venv/bin/activate
```
--------------------------------
### Define Planned Period with Start and End Dates
Source: https://docs.ted.europa.eu/eforms/1.13/schema/procedure-lot-part-information.html
Provides explicit start and end dates for the procurement period.
```xml
2019-11-15+01:00
2019-11-19+01:00
```
--------------------------------
### Future Notice Example (BT-127)
Source: https://docs.ted.europa.eu/eforms/1.13/reference/business-terms/BT-127.html
Example of a 'Future Notice' element (BT-127) within the eForms SDK context.
```APIDOC
## BT-127: Future Notice
### Description
This documentation snippet illustrates the 'Future Notice' element, identified by BT-127, within the eForms SDK.
### Method
N/A
### Endpoint
N/A
### Parameters
N/A
### Request Body
N/A
### Response
N/A
### Example Structure:
| Type | DATE |
|---|---|
### Fields
| BT-127-notice | Future Notice |
|---|---|
```