Use `ElectionReport` as the root entity. It defines items that pertain to the
status and format of the report and when it was generated.

> [!NOTE]
> **Note:** This entity is the same for all feed types.

`ElectionReport` includes the following major elements:

- [`GpUnit`](https://developers.google.com/civics-data/reference/gp-unit)
- [`Office`](https://developers.google.com/civics-data/reference/office)
- [`GovernmentBody`](https://developers.google.com/civics-data/reference/government-body)
- [`Party`](https://developers.google.com/civics-data/reference/party)
- [`Person`](https://developers.google.com/civics-data/reference/person)
- [`Election`](https://developers.google.com/civics-data/reference/election)
- [`ElectoralCommission`](https://developers.google.com/civics-data/reference/electoral-commission)
- [`VoterInformation`](https://developers.google.com/civics-data/reference/voter-information)
- [`DataSource`](https://developers.google.com/civics-data/reference/data-source)

As with `Election`, `ElectionReport` "wraps" occurrences of the elements, except
for `Election`, in container elements. This makes it easier to manipulate the
instance files in XML viewers and editors.

Sometimes, it's important to preserve a particular ordering scheme of items,
such as offices or political parties. In these cases, we expect the generating
application to define those elements in accordance with any ordering scheme
already in place.

## Elements

The following table lists elements for `ElectionReport`:

| Element | Multiplicity | Type | Description |
|---|---|---|---|
| `CommitteeCollection` | 0 or 1 | N/A | Wrapper element for [`Committee`](https://developers.google.com/civics-data/reference/committee) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `DataSourceCollection` | 0 or 1 | N/A | Wrapper element for [`DataSource`](https://developers.google.com/civics-data/reference/data-source) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `Election` | 0 or more | [`Election`](https://developers.google.com/civics-data/reference/election) | Associates elections with the report. |
| `ElectoralCommissionCollection` | 0 or 1 | N/A | Wrapper element for [`ElectoralCommission`](https://developers.google.com/civics-data/reference/electoral-commission) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `ExternalIdentifiers` | 0 or 1 | [`ExternalIdentifiers`](https://developers.google.com/civics-data/reference/external-identifier) | Associates an ID with the report. |
| `Format` | 1 | [`ReportDetailLevel`](https://developers.google.com/civics-data/reference/report-detail-level) | Provides the detail level of the report, such as if it's a contest summary or precinct-level results. |
| `GeneratedDate` | 1 | [`dateTime`](https://developers.google.com/civics-data/reference/simple-data-types#xs-datetime) | Identifies the date and time that the election report was generated. |
| `GpUnitCollection` | 0 or 1 | N/A | Wrapper element for [`GpUnit`](https://developers.google.com/civics-data/reference/gp-unit) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `Issuer` | 1 | [`string`](https://developers.google.com/civics-data/reference/simple-data-types#xs-string) | Identification of the report issuer. |
| `IssuerAbbreviation` | 0 or 1 | [`string`](https://developers.google.com/civics-data/reference/simple-data-types#xs-string) | An abbreviation for the report issuer, such as an abbreviation of the state or constituency for which results are being reported. |
| `IsTest` | 0 or 1 | [`boolean`](https://developers.google.com/civics-data/reference/simple-data-types#xs-boolean) | Indicates whether the report is a test report. If this element isn't present, the default value is `false`. |
| `Notes` | 0 or 1 | [`string`](https://developers.google.com/civics-data/reference/simple-data-types#xs-string) | Used to include an arbitrary message with the report. |
| `OfficeCollection` | 0 or 1 | N/A | Wrapper element for [`Office`](https://developers.google.com/civics-data/reference/office) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `GovernmentBodyCollection` | 0 or 1 | N/A | Wrapper element for [`GovernmentBody`](https://developers.google.com/civics-data/reference/government-body) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `PartyCollection` | 0 or 1 | N/A | Wrapper element for [`Party`](https://developers.google.com/civics-data/reference/party) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `PersonCollection` | 0 or 1 | N/A | Wrapper element for [`Person`](https://developers.google.com/civics-data/reference/person) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |
| `SequenceStart` | 1 | `integer` | The report's number as part of a sequence of reports. This element is used with `SequenceEnd` to be read as, for example, "1 of 1", "1 of 2", or "2 of 2". Starts with `1`. |
| `SequenceEnd` | 1 | `integer` | The upper bound of a sequence of reports. For example, this is `1` if there's only one report, or `2` if there are two reports in the sequence. |
| `Status` | 1 | [`ResultsStatus`](https://developers.google.com/civics-data/reference/results-status) | Status of the election report, such as pre-election or unofficial. |
| `TestType` | 0 or 1 | [`string`](https://developers.google.com/civics-data/reference/simple-data-types#xs-string) | A description of the type of test, such as pre-election or logic and accuracy. |
| `VendorApplicationId` | 1 | [`string`](https://developers.google.com/civics-data/reference/simple-data-types#xs-string) | An identifier of the vendor application that generates the election report. For example, `X-EMS version 3.1.a`. |
| `VoterInformationCollection` | 0 or 1 | N/A | Wrapper element for [`VoterInformation`](https://developers.google.com/civics-data/reference/voter-information) definitions. For more details, read [Collection entities](https://developers.google.com/civics-data/reference/collections). |

> [!NOTE]
> **Note:** Don't use the optional `Signature` element. It causes the processing to fail.

## Examples

### XML

```xml
    <ElectionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <DataSourceCollection>
        <DataSource objectId="ds-1">…</DataSource>
      </DataSourceCollection>
      <Election>…</Election>
      <GpUnitCollection>
        <GpUnit objectId="ru-gpu0">…</GpUnit>
        <GpUnit objectId="ru-gpu1">…</GpUnit>
      </GpUnitCollection>
      <OfficeCollection>
        <Office objectId="off-0001a">…</Office>
      </OfficeCollection>
      <GovernmentBodyCollection>
        <GovernmentBody objectId="gb-0001a">…</GovernmentBody>
      </GovernmentBodyCollection>
      <PartyCollection>
        <Party objectId="par-001">…</Party>
        <Party objectId="par-002">…</Party>
      </PartyCollection>
      <PersonCollection>
        <Person objectId="per-001">…</Person>
        <Person objectId="per-002">…</Person>
      </PersonCollection>
      <Issuer>Example Data Provider</Issuer>
      <IssuerAbbreviation>EDP</IssuerAbbreviation>
      <Format>summary-contest</Format>
      <GeneratedDate>2013-11-05T14:25:28</GeneratedDate>
      <Status>unofficial-partial</Status>
      <VendorApplicationId>Hand-Generated v0.1</VendorApplicationId>
      <SequenceStart>1</SequenceStart>
      <SequenceEnd>1</SequenceEnd>
    </ElectionReport>
```