Конкурс

Используйте тип Contest, чтобы описать выборы и связать их с кандидатами и партиями.

В этом документе рассматривается Contest и его дочерние объекты:

  • Contest
    • CandidateContest
    • PartyContest
    • BallotMeasureContest
    • RetentionContest

Типы

Contest – это абстрактный элемент, который может быть трех типов в зависимости от типа конкурса:

  • CandidateContest – используйте этот тип, если Contest включает одного или нескольких кандидатов на должность.
  • PartyContest – используйте этот тип, если в бюллетене для Contest есть список партий. Это также можно использовать как виртуальный конкурс, который является резюме большего набора меньших конкурсов.
  • BallotMeasureContest. Используйте этот тип, если Contest включает одно или несколько голосований по законопроектам.
  • RetentionContest. Используйте этот тип, если Contest включает референдум, на котором решается, должен ли избранный чиновник остаться на своем посту или быть отстранен от него.

По мере поступления результатов выборов вы можете обновлять фид, чтобы показывать разные этапы подсчета голосов, например экзитполы или оценки. Google предоставляет рекомендации о том, какие этапы выборов и типы результатов ожидаются. Google может запросить один или несколько этапов. Эти значения могут меняться в течение ночи выборов. Установите начальное значение фида для этапа, с которого нужно начать. Подробную информацию вы найдете в описании элементов CurrentResultsReportingStage и ResultsReportingStageCollection в разделе Элементы.

Атрибуты

В таблице ниже описаны атрибуты для Contest.

Атрибут Обязательно? Тип Описание
objectId Обязательно ID Уникальный внутренний идентификатор, который используется другими элементами для ссылки на этот элемент.

Элементы

В таблице ниже описаны элементы для Contest:

Элемент Множество Тип Описание
Abbreviation 0 или 1 string Краткое название конкурса.
AggregateBallotSelection 0 или 1 SpecialBallotSelection Выбор бюллетеней для агрегирования подсчета голосов, например объединение нескольких кандидатов в категорию "Другие".
BallotSelection 0 или больше BallotSelection

Связывает варианты выбора в бюллетене с состязанием. Порядок кандидатов или партий в Contest должен быть таким же, как в BallotSelection.

Если для каждого элемента указано свойство BallotSelection.SequenceOrder, то оно используется для сортировки по умолчанию.

BallotSubTitle 0 или 1 InternationalizedText Подзаголовок конкурса, который должен совпадать с тем, как он указан в бюллетенях избирателей.
BallotTitle 0 или 1 InternationalizedText Название конкурса. Текст заголовка должен соответствовать руководству по синтаксису. Для референдумов название должно соответствовать формулировке в бюллетене.
BlankBallotSelection 0 или 1 SpecialBallotSelection Выбор бюллетеня для пустых бюллетеней.
ComposingContestIds 0 или больше IDREFS

Используется для определения сводного конкурса. Например, на всеобщих президентских выборах в США есть состязание национального уровня, состоящее из состязаний на уровне штатов.

ComposingContest должна иметь меньшую область действия, чем родительская, и относиться к тому же туру выборов.

ContestDateStatus 0 или 1 DateStatus

Этот элемент указывает на изменения в расписании выборов. Значение по умолчанию – confirmed. В большинстве случаев значения ContestDateStatus должны соответствовать ElectionDateStatus элемента Election, в котором они находятся.

ContestDateType 0 или 1 ElectionDateType

Этот элемент указывает, как соревнование добавляется в календарь. Если значение не указано, по умолчанию используется ElectionDateType из окружающего элемента Election. Если дата ещё не установлена, используется значение bounded. В большинстве случаев значения ContestDateType должны соответствовать значению ElectionDateType элемента Election, в котором они находятся.

CountingDate 0 или 1 PartialDate Дата подсчета голосов после выборов. Это значение следует указывать, только если день подсчета голосов отличается от последнего дня голосования, как, например, на выборах в Лок сабху в Индии. Обычно подсчет голосов происходит в последний день голосования, то есть в EndDate выборов.
CurrentResultsReportingStage 1 ResultsReportingStageType Текущий этап публикации результатов конкурса.
EarliestPollsClose 0 или 1 dateTime Когда закроются первые избирательные участки.
ElectoralDistrictId 1 IDREF

Уникальный идентификатор элемента GpUnit. Связывает соревнование с единицей отчетности, которая представляет географический охват соревнования, например округ.

Например, для определенного конкурса ElectoralDistrictId может ссылаться на ReportingUnit, определенный для округа, связанного с конкурсом. Office также содержит необязательную ссылку, которая служит той же цели. Например, для национального конкурса можно использовать то же значение GpUnit, что и для страны.

ExternalIdentifiers 1 ExternalIdentifiers Связывает идентификатор с конкурсом. Требуется постоянный идентификатор.
EndDate 0 или 1 PartialDate Дата окончания конкурса. Укажите дату окончания голосования, например 2022-11-08. Дату окончания следует указывать, только если даты начала и окончания Contest отличаются от дат начала и окончания Election.
EstimatedExpectedVotePercentage 0 или 1 float

Расчетный процент от общего числа голосов, которые, как ожидается, будут поданы на этих выборах. Указывается в виде числа от 0 до 100.

Например, значение 24,2 % нужно указать как 24.2, а не 0.242.

FilingDeadline 0 или 1 PartialDate Дата, до которой кандидат должен подать заявку на участие в выборах.
HasRotation 0 или 1 boolean Указывает, чередуются ли варианты в соревновании. Если этот элемент отсутствует, по умолчанию используется значение false.
IsNotable 0 или 1 boolean Является ли объект заслуживающим внимания. Если не указано, предполагается false.
LatestPollsClose 0 или 1 dateTime Когда закроются последние избирательные участки.
Name 1 string Оно должно соответствовать BallotTitle на английском языке и синтаксису заголовка.
NoneOfTheAboveBallotSelection 0 или 1 SpecialBallotSelection Вариант "Против всех" или его эквивалент, например "Ни один из вариантов" или "Не определился".
NullBallotSelection 0 или 1 SpecialBallotSelection Выбор бюллетеня для недействительных или испорченных бюллетеней. Это бюллетени, которые были заполнены таким образом, что голос не может быть правильно подсчитан. Примеры недействительных бюллетеней: порванные, испачканные, с лишними или недостающими отметками, а также с отметками, позволяющими идентифицировать избирателя.
OutcomeDetermined 0 или 1 boolean

Определен ли результат выборов.

  • Для конкурсов, состоящих из нескольких подконкурсов, это означает, что результаты всех подконкурсов определены.
  • Для выборов кандидатов это означает, что все кандидаты, которые победили или прошли во второй тур, были объявлены (независимо от того, прогнозировалось это или нет) или выборы были отменены.
  • Для партийных выборов это означает, что все места были распределены и отмечены как выигранные или выборы на оставшиеся места были отменены.
Seat 0 или 1 string Должность, на которую претендуют кандидаты.
SequenceOrder 0 или 1 integer

Порядок сортировки элементов Contest по умолчанию для показа результатов. Конкурсы показываются в соответствии со следующими правилами:

  • Если у двух конкурсов одинаковые значения, они могут быть представлены в неопределенном порядке.
  • Все состязания, для которых указано значение SequenceOrder, будут представлены в заданном порядке, а затем будут показаны все состязания без значения SequenceOrder в неопределенном порядке.

SequenceOrder используется для упорядочивания результатов. Например, 100 может означать региональный конкурс, 200 – местный и т. д. Элемент SequenceOrder не подходит для указания порядка выборов в бюллетене. Однако порядок выборов в каждом бюллетене можно сохранить с помощью элемента BallotStyle, который связывает типы бюллетеней с соответствующими геополитическими единицами.

StartDate 0 или 1 PartialDate Дата начала конкурса. Укажите дату начала голосования, например 2022-11-08. Дату начала следует указывать, только если даты начала и окончания Contest отличаются от дат начала и окончания Election.
SubsequentContestId 0 или 1 IDREF

Указывает на последующий конкурс в том же наборе. Например, на выборах в США это свойство обычно указывает на связь между праймериз и основными выборами. Также может указывать на второй тур выборов.

Обычно SubsequentContest имеет ту же область действия, что и предшествующий ему конкурс.

SubUnitsReported 0 или 1 integer Количество подразделений, которые завершили подсчет голосов для этого конкурса.
SummaryCounts 0 или больше SummaryCounts Сводка различных количественных показателей, связанных с конкурсом. В том числе общее количество бюллетеней, в которых есть этот вопрос, и общее количество воздержавшихся, бюллетеней с избыточным или недостаточным количеством голосов, а также бюллетеней, в которых избиратели вписали своих кандидатов. Сводные данные могут быть связаны с конкурсом в целом или с другими единицами отчетности более низкого уровня за счет многократного использования SummaryCounts.
TotalSeats 0 или 1 integer Общее количество мест, которые избирательный округ для этого конкурса может занять в офисе. Это сумма мест, за которые идет борьба, мест, которые не переизбираются, и вакантных мест.
TotalSubUnits 0 или 1 integer Общее количество административных единиц, в которых эти выборы включены в бюллетень.
VoteVariation 0 или 1 VoteVariation Тип голосования, связанный с соревнованием, например n-of-m.
OtherVoteVariation 0 или 1 string Используется для указания специального значения, если VoteVariation – other.
ResultsEmbargoEnd 0 или 1 dateTime Когда заканчивается запрет на публикацию результатов выборов.
ResultsExpected 0 или 1 dateTime Время, когда в фиде должны появиться первые результаты подсчета голосов.
ResultsLastUpdated 0 или 1 dateTime Когда результаты конкурса обновлялись в последний раз.
ResultsReportingStageCollection 0 или 1 Н/Д

Элемент-контейнер для определений ResultsReportingStage. Подробную информацию вы найдете в статье Объекты Collection.

Для составного конкурса (на который ссылается элемент ComposingContestIds родительского конкурса) можно задать необязательный дочерний элемент InheritFromComposedContest элемента boolean со значением true, чтобы унаследовать этапы передачи данных из составного конкурса. Если для атрибута InheritFromComposedContest задано значение true, не добавляйте в коллекцию элементы ResultsReportingStage. Конкурс должен быть указан в свойстве ComposingContestIds другого конкурса. В противном случае необходимо указать свойство ResultsReportingStage, а коллекция должна содержать как минимум два элемента ResultsReportingStage: один со свойством StageType, для которого задано значение no-results, и как минимум один со свойством StageType, для которого задано значение preliminary или official.

CandidateContest

Используйте свойство CandidateContest, чтобы описать конкурс, в котором выбирается один или несколько кандидатов.

Этот объект может ссылаться на Office или Party по идентификатору. Мы не поддерживаем представление списка кандидатов на одних и тех же выборах. Вы можете указать только один элемент Office. Например, для выборов президента и вице-президента потребуется два конкурса Candidate. Каждый из них будет ссылаться на другой офис.

Элементы

В таблице ниже описаны элементы для CandidateContest:

Элемент Множество Тип Описание
NumberElected 0 или 1 integer Количество кандидатов, которые избираются в ходе выборов, то есть n в выражении n-of-m. Если в фиде нет атрибута NumberElected, используется значение по умолчанию – 1.
OfficeIds 1 IDREFS Уникальный идентификатор одного или нескольких элементов Office. Связывает описание должности с конкурсом.
PrimaryPartyIds 0 или больше IDREFS Уникальный идентификатор одного или нескольких элементов Party, которые указывают, что элемент Contest является частью партийных праймериз. PrimaryPartyId имеет значение только на первичных выборах.
VotesAllowed 1 integer Максимальное количество голосов или вписанных кандидатов, разрешенное для одного избирателя в этом соревновании. Если в фиде нет атрибута VotesAllowed, используется значение по умолчанию – 1.
Type 0 или больше ElectionType Тип выборов, например первичные или основные. Тип Contest следует указывать, только если он отличается от типа Election.

Примеры

XML

    <Contest xsi:type="CandidateContest" objectId="c-1-001">
      <Abbreviation>KENYAPRES</Abbreviation>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-kenyatta">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-odinga">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-mudavadi">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-kenneth">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-dida">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-karua">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-kiyiapi">...</BallotSelection>
      <BallotSelection xsi:type="CandidateSelection" objectId="cs-1-001-muite">...</BallotSelection>
      <BallotTitle>
        <Text language="en">2022 Kenya Presidential election</Text>
        <Text language="es">2022 Elecciones presidenciales de Kenia</Text>
        <Text language="fr">2022 Élection présidentielle au Kenya</Text>
      </BallotTitle>
      <CountStatus>...</CountStatus>
      <CountingDate>2022-08-11</CountingDate>
      <ElectoralDistrictId>...</ElectoralDistrictId>
      <EndDate>2022-08-09</EndDate>
      <Name>2022 Kenya Presidential election</Name>
      <StartDate>2022-08-09</StartDate>
      <SubUnitsReported>48</SubUnitsReported>
      <SummaryCounts>...</SummaryCounts>
      <TotalSubUnits>48</TotalSubUnits>
      <VoteVariation>1-of-m</VoteVariation>
      <NumberElected>1</NumberElected>
      <OfficeIds>off-9999a</OfficeIds>
      <VotesAllowed>1</VotesAllowed>
      <Type>general</Type>
    </Contest>

PartyContest

Используйте PartyContest для выборов, на которых избиратели голосуют за партию. Этот элемент также можно использовать в фиде результатов выборов в качестве виртуального сводного соревнования для передачи агрегированных данных (например, соревнование партий на уровне штата, которое агрегирует результаты соревнований в избирательных округах).

Элементы

В таблице ниже описаны элементы для PartyContest:

Элемент Множество Тип Описание
NumberElected 0 или 1 integer Количество кандидатов, которые избираются в ходе выборов. Это значение n в выражении n-of-m. Если в фиде нет поля NumberElected, используется значение по умолчанию – 1.
VotesAllowed 0 или 1 integer Максимальное количество голосов или вписанных кандидатов, разрешенное для одного избирателя в этом соревновании. Если в фиде нет атрибута VotesAllowed, используется значение по умолчанию – 1.
OfficeIds 1 IDREFS Уникальный идентификатор одного или нескольких элементов Office. Связывает описание офиса с конкурсом.
Type 0 или больше ElectionType Тип выборов, например первичные или основные. Тип Contest следует указывать, только если он отличается от типа Election.

Примеры

XML

    <Contest xsi:type="PartyContest" objectId="c-20001">
      <BallotSelection objectId="ps-101321" xsi:type="PartySelection">
        <PartyIds>par-10132</PartyIds>
      </BallotSelection>
      <BallotSelection objectId="ps-101322" xsi:type="PartySelection">
        <PartyIds>par-10133</PartyIds>
      </BallotSelection>
      <BallotTitle>
        <Text language="en">Ballot title example</Text>
      </BallotTitle>
      <ContestDateStatus>confirmed</ContestDateStatus>
      <CountingDate>2022-08-11</CountingDate>
      <ElectoralDistrictId>...</ElectoralDistrictId>
      <EndDate>2022-08-09</EndDate>
      <ExternalIdentifiers>...</ExternalIdentifiers>
      <Name>Contest name example</Name>
      <StartDate>2022-08-09</StartDate>
      <VoteVariation>1-of-m</VoteVariation>
      <OfficeIds>off-9999a</OfficeIds>
      <Type>general</Type>
      <VotesAllowed>1</VotesAllowed>
    </Contest>

BallotMeasureContest

Используйте BallotMeasureContest для выборов, в которых проводится голосование по законопроектам.

Элементы

В таблице ниже описаны элементы для BallotMeasureContest:

Элемент Множество Тип Описание
BallotTitle 1 InternationalizedText

Официальное название бюллетеня, например Nevada Renewable Energy Standards Initiative. Убедитесь, что значение BallotTitle уникально.

У некоторых референдумов есть одно общее название и несколько пронумерованных вопросов. В таких случаях в заголовок можно включить номер вопроса, чтобы различать объекты BallotMeasureContest, созданные для каждого вопроса.

BallotSubTitle 0 или 1 InternationalizedText Подзаголовок бюллетеня, если он есть.
BallotText 1 InternationalizedText Текст, который появляется в самом бюллетене. Пример: Shall Article 4 of the Nevada Constitution be amended to require, beginning in calendar year 2022, that all providers of electric utility services who sell electricity... in Nevada comes from renewable energy resources?.
FullText 0 или 1 InternationalizedText

Полный текст законопроекта. Укажите этот элемент, если есть дополнительный текст, не включенный в сам бюллетень. Максимальная длина – 30 000 символов.

Если полный текст законопроекта, вынесенного на голосование, содержит менее 30 000 символов и не включает форматирование, которое не поддерживается в файле фида, укажите его в элементе FullText. Также добавьте InfoUri с аннотированным URI fulltext. В противном случае укажите только URI с аннотацией fulltext.

InfoUri 0 или 1 AnnotatedUri

URI с аннотациями, который принимает следующие аннотации, а не те, что перечислены в других разделах:

  • wikipedia – страница в Википедии, посвященная законопроекту.
  • ballotpedia – страница Ballotpedia, посвященная инициативе, вынесенной на голосование. Пример: https://ballotpedia.org/Nevada_Renewable_Energy_Standards_Initiative_(2020).
  • official-website – официальный сайт законопроекта.
  • fulltext – если текст, который нужно включить в бюллетень, слишком длинный (например, это копия законопроекта), укажите URI полного текста. Пример: https://www.nvsos.gov/sos/home/showdocument?id=5330
  • logo-uri – изображение логотипа.
SummaryText 0 или 1 InternationalizedText

Краткое описание инициативы. Состоит из одного или двух коротких абзацев. Может быть сгенерировано партнером для краткого изложения полного текста бюллетеня, как в следующем примере:

Requires utilities to acquire 50 percent of their electricity from renewable resources by 2030

Official Summary:

EXPLANATION—This ballot measure proposes to amend Article 4 of the Nevada Constitution to require all providers of electric utility services that sell electricity to retail customers for consumption in Nevada to meet a Renewable Portfolio Standard (RPS) that would go into effect beginning in calendar year 2022 and increase gradually until the RPS reaches 50 percent in calendar year 2030. According to the Public Utilities Commission of Nevada, an RPS establishes the percentage of electricity sold by an electric utility to retail customers that must come from renewable sources.

ProStatement 0 или 1 InternationalizedText Заявление, объясняющее, что означает голос За по этому вопросу. Это не аргумент в пользу меры. Пример: A "yes" vote supports this initiative to require electric utilities to acquire 50 percent of their electricity from renewable resources by 2030..
ConStatement 0 или 1 InternationalizedText Заявление, объясняющее, что означает голос Против по этому вопросу. Это не аргумент против меры. Пример: A "no" vote opposes this initiative, thus keeping the existing requirement that electric utilities acquire 25 percent of their electricity from renewable resources by 2025.
Type 0 или 1 BallotMeasureType Перечисляемый тип инициативы, вынесенной на голосование. Выберите значение, которое лучше всего описывает законопроект в его юрисдикции.
PassageThreshold 0 или 1 string Минимальная доля голосов, необходимая для принятия предложения.

Примеры

XML

     <Contest objectId="c-0" xsi:type="BallotMeasureContest">
        <BallotSelection objectId="bms-00" xsi:type="BallotMeasureSelection">
          <ExternalIdentifiers>
            <ExternalIdentifier>
              <Type>other</Type>
              <OtherType>stable</OtherType>
              <Value>bms-00-yes</Value>
            </ExternalIdentifier>
          </ExternalIdentifiers>
          <Selection>
            <Text language="en">Yes</Text>
          </Selection>
        </BallotSelection>
        <BallotSelection objectId="bms-01" xsi:type="BallotMeasureSelection">
          <ExternalIdentifiers>
            <ExternalIdentifier>
              <Type>other</Type>
              <OtherType>stable</OtherType>
              <Value>bms-01-no</Value>
            </ExternalIdentifier>
          </ExternalIdentifiers>
          <Selection>
            <Text language="en">No</Text>
          </Selection>
        </BallotSelection>
        <BallotSubTitle>
          <Text language="en">Farm Animal Confinement Initiative</Text>
        </BallotSubTitle>
        <BallotTitle>
          <Text language="en">
            California Proposition 12, Farm Animal Confinement Initiative (2018)
          </Text>
        </BallotTitle>
        <ElectoralDistrictId>ru-ca-1</ElectoralDistrictId>
        <ExternalIdentifiers>
          <ExternalIdentifier>
            <Type>other</Type>
            <OtherType>stable</OtherType>
            <Value>c-0</Value>
          </ExternalIdentifier>
        </ExternalIdentifiers>
        <Name>
          California Proposition 12, Farm Animal Confinement Initiative (2018)
        </Name>
        <BallotText>
          <Text language="en">
            Establishes minimum requirements for confining certain farm animals. Prohibits sales of meat and egg products from animals confined in noncomplying manner. Fiscal Impact: Potential decrease in state income tax revenues from farm businesses, likely not more than several million dollars annually. State costs up to $10 million annually to enforce the measure.
          </Text>
        </BallotText>
        <ConStatement>
          <Text language="en">No means the measure will not be enacted
          </Text>
        </ConStatement>
        <InfoUri Annotation="fulltext">
          https://example-government.gov/ballot-measures/California_Proposition_12_2018
        </InfoUri>
        <InfoUri Annotation="wikipedia">
          https://en.wikipedia.org/wiki/2018_California_Proposition_12
        </InfoUri>
        <PassageThreshold>
          <Text language="en">50.01%</Text>
        </PassageThreshold>
        <ProStatement>
          <Text language="en">Yes means the measure will be enacted
          </Text>
        </ProStatement>
        <SummaryText>
          <Text language="en">
            The proposition establishes new minimum requirements on farmers to provide more space for egg-laying hens, breeding pigs, and calves raised for veal. California businesses will be banned from selling eggs or uncooked pork or veal that came from animals housed in ways that did not meet these requirements.
          </Text>
        </SummaryText>
        <Type>ballot-measure</Type>
      </Contest>

RetentionContest

Используйте этот тип, если Contest включает референдум, на котором решается, должен ли избранный чиновник остаться на своем посту или быть отстранен от него.

В частности, это касается выборов судей в некоторых штатах США, на которых решается, останется ли судья на следующий срок. Это также относится к выборам по отзыву, на которых решается, следует ли отстранить должностное лицо от должности до истечения срока его полномочий.

Элементы

Все элементы из BallotMeasureContest также применяются к RetentionContest.

Элемент Множество Тип Описание
CandidateId 1 IDREF Идентификатор кандидата, представляющего должностное лицо, которое в настоящее время занимает должность.
OfficeId 0 или 1 IDREF Идентификатор должности, которую в настоящее время занимает должностное лицо.

Примеры

XML

        <Contest objectId="c-40001" xsi:type="RetentionContest">
        <!-- Retention contest selections are actually BallotMeasureSelection
          objects, and should use the 'bms-' objectId prefix.-->
          <BallotSelection objectId="bms-40001a" xsi:type="BallotMeasureSelection">
            <ExternalIdentifiers>
              <ExternalIdentifier>
                <Type>other</Type>
                <OtherType>stable</OtherType>
                <Value>bms-40001a</Value>
              </ExternalIdentifier>
            </ExternalIdentifiers>
          <Selection label="bms-40001at">
            <Text language="en">Yes</Text>
          </Selection>
          </BallotSelection>
          <BallotSelection objectId="bms-40001b" xsi:type="BallotMeasureSelection">
            <ExternalIdentifiers>
              <ExternalIdentifier>
                <Type>other</Type>
                <OtherType>stable</OtherType>
                <Value>bms-40001b</Value>
              </ExternalIdentifier>
            </ExternalIdentifiers>
          <Selection label="bms-40001bt">
            <Text language="en">No</Text>
          </Selection>
          </BallotSelection>
          <BallotTitle>
            <Text language="en">Retention of Supreme Court Justice</Text>
          </BallotTitle>
          <ElectoralDistrictId>ru-0002</ElectoralDistrictId>
          <ExternalIdentifiers>
            <ExternalIdentifier>
              <Type>other</Type>
              <OtherType>stable</OtherType>
              <Value>c-vageneral-2013-va16-country-us</Value>
            </ExternalIdentifier>
          </ExternalIdentifiers>
          <Name>Judicial Retention, Supreme Court</Name>
          <CandidateId>can-12345</CandidateId>
          <OfficeId>off-20006</OfficeId>
        </Contest>