<?php
namespace Fifa\ConnectId\Sdk\Model\DataStandard;

use DateTime;
use Fifa\ConnectId\Sdk\Util\ToString\Exception\ToStringException;

/**
 * Class OrganisationOfficialRegistration
 * @package Fifa\ConnectId\Sdk\Model\DataStandard
 */
class OrganisationOfficialRegistration extends Registration
{
    /**
     * @var string
     * @required
     */
    public $OrganisationOfficialRole;

    /**
     * OrganisationOfficialRegistration constructor.
     *
     * @param string $PersonFIFAId
     * @param string $Status
     * @param string $OrganisationFIFAId
     * @param DateTime $RegistrationValidFrom
     * @param string $OrganisationOfficialRole
     *
     * @throws ToStringException
     */
    public function __construct(string $PersonFIFAId, string $Status, string $OrganisationFIFAId, DateTime $RegistrationValidFrom, string $OrganisationOfficialRole)
    {
        parent::__construct($PersonFIFAId, $Status, $OrganisationFIFAId, $RegistrationValidFrom);
        $this->OrganisationOfficialRole = $OrganisationOfficialRole;
    }

    /**
     * @return string
     */
    public function __toString()
    {
        $registration = parent::__toString();
        $required = sprintf('OrganisationOfficialRole: %s', $this->OrganisationOfficialRole);

        return sprintf('%s, %s', $registration, $required);
    }
}