<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Security.CrmUserParameters StructType
 * @subpackage Structs
 */
class Security_CrmUserParameters extends Security_UserParametersBase
{
    /**
     * The DefaultMenuTabAndInnerTab
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DefaultMenuTabAndInnerTab;
    /**
     * The DefaultSearchSubject
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DefaultSearchSubject;
    /**
     * The DisplayAlsoCancelledReservations
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoCancelledReservations;
    /**
     * The DisplayAlsoNotInCustodyTickets
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoNotInCustodyTickets;
    /**
     * The DisplayAlsoObsoleteClientCredits
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteClientCredits;
    /**
     * The DisplayAlsoObsoleteCreditCards
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteCreditCards;
    /**
     * The DisplayAlsoObsoleteDirectDebitMandates
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteDirectDebitMandates;
    /**
     * The DisplayAlsoObsoleteDraftInvoiceItems
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteDraftInvoiceItems;
    /**
     * The DisplayAlsoObsoleteEnrollments
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteEnrollments;
    /**
     * The DisplayAlsoObsoleteGiftVouchers
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteGiftVouchers;
    /**
     * The DisplayAlsoObsoleteMemberships
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteMemberships;
    /**
     * The DisplayAlsoObsoletePaymentPlans
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoletePaymentPlans;
    /**
     * The DisplayAlsoObsoletePledges
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoletePledges;
    /**
     * The DisplayAlsoObsoleteRefundVouchers
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteRefundVouchers;
    /**
     * The DisplayAlsoObsoleteReservations
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteReservations;
    /**
     * The DisplayAlsoObsoleteServiceRequests
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteServiceRequests;
    /**
     * The DisplayAlsoObsoleteSubscriptions
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteSubscriptions;
    /**
     * The DisplayAlsoObsoleteTickets
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteTickets;
    /**
     * The DisplayAlsoObsoleteUnpaidItems
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoObsoleteUnpaidItems;
    /**
     * The DisplayAlsoReturnedGiftVouchers
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoReturnedGiftVouchers;
    /**
     * The DisplayAlsoReturnedMemberships
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoReturnedMemberships;
    /**
     * The DisplayAlsoReturnedMerchandise
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoReturnedMerchandise;
    /**
     * The DisplayAlsoReturnedPayments
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoReturnedPayments;
    /**
     * The DisplayAlsoReturnedSubscriptions
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoReturnedSubscriptions;
    /**
     * The DisplayAlsoReturnedTickets
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoReturnedTickets;
    /**
     * The DisplayAlsoSoftCredit
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoSoftCredit;
    /**
     * The DisplayAlsoSubscriptionTickets
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $DisplayAlsoSubscriptionTickets;
    /**
     * The DisplayMode
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DisplayMode;
    /**
     * The GridsDisplayModes
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $GridsDisplayModes;
    /**
     * Constructor method for Security.CrmUserParameters
     * @uses Security_CrmUserParameters::setDefaultMenuTabAndInnerTab()
     * @uses Security_CrmUserParameters::setDefaultSearchSubject()
     * @uses Security_CrmUserParameters::setDisplayAlsoCancelledReservations()
     * @uses Security_CrmUserParameters::setDisplayAlsoNotInCustodyTickets()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteClientCredits()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteCreditCards()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteDirectDebitMandates()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteDraftInvoiceItems()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteEnrollments()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteGiftVouchers()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteMemberships()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoletePaymentPlans()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoletePledges()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteRefundVouchers()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteReservations()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteServiceRequests()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteSubscriptions()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteTickets()
     * @uses Security_CrmUserParameters::setDisplayAlsoObsoleteUnpaidItems()
     * @uses Security_CrmUserParameters::setDisplayAlsoReturnedGiftVouchers()
     * @uses Security_CrmUserParameters::setDisplayAlsoReturnedMemberships()
     * @uses Security_CrmUserParameters::setDisplayAlsoReturnedMerchandise()
     * @uses Security_CrmUserParameters::setDisplayAlsoReturnedPayments()
     * @uses Security_CrmUserParameters::setDisplayAlsoReturnedSubscriptions()
     * @uses Security_CrmUserParameters::setDisplayAlsoReturnedTickets()
     * @uses Security_CrmUserParameters::setDisplayAlsoSoftCredit()
     * @uses Security_CrmUserParameters::setDisplayAlsoSubscriptionTickets()
     * @uses Security_CrmUserParameters::setDisplayMode()
     * @uses Security_CrmUserParameters::setGridsDisplayModes()
     * @param string $defaultMenuTabAndInnerTab
     * @param string $defaultSearchSubject
     * @param bool $displayAlsoCancelledReservations
     * @param bool $displayAlsoNotInCustodyTickets
     * @param bool $displayAlsoObsoleteClientCredits
     * @param bool $displayAlsoObsoleteCreditCards
     * @param bool $displayAlsoObsoleteDirectDebitMandates
     * @param bool $displayAlsoObsoleteDraftInvoiceItems
     * @param bool $displayAlsoObsoleteEnrollments
     * @param bool $displayAlsoObsoleteGiftVouchers
     * @param bool $displayAlsoObsoleteMemberships
     * @param bool $displayAlsoObsoletePaymentPlans
     * @param bool $displayAlsoObsoletePledges
     * @param bool $displayAlsoObsoleteRefundVouchers
     * @param bool $displayAlsoObsoleteReservations
     * @param bool $displayAlsoObsoleteServiceRequests
     * @param bool $displayAlsoObsoleteSubscriptions
     * @param bool $displayAlsoObsoleteTickets
     * @param bool $displayAlsoObsoleteUnpaidItems
     * @param bool $displayAlsoReturnedGiftVouchers
     * @param bool $displayAlsoReturnedMemberships
     * @param bool $displayAlsoReturnedMerchandise
     * @param bool $displayAlsoReturnedPayments
     * @param bool $displayAlsoReturnedSubscriptions
     * @param bool $displayAlsoReturnedTickets
     * @param bool $displayAlsoSoftCredit
     * @param bool $displayAlsoSubscriptionTickets
     * @param string $displayMode
     * @param string $gridsDisplayModes
     */
    public function __construct($defaultMenuTabAndInnerTab = null, $defaultSearchSubject = null, $displayAlsoCancelledReservations = null, $displayAlsoNotInCustodyTickets = null, $displayAlsoObsoleteClientCredits = null, $displayAlsoObsoleteCreditCards = null, $displayAlsoObsoleteDirectDebitMandates = null, $displayAlsoObsoleteDraftInvoiceItems = null, $displayAlsoObsoleteEnrollments = null, $displayAlsoObsoleteGiftVouchers = null, $displayAlsoObsoleteMemberships = null, $displayAlsoObsoletePaymentPlans = null, $displayAlsoObsoletePledges = null, $displayAlsoObsoleteRefundVouchers = null, $displayAlsoObsoleteReservations = null, $displayAlsoObsoleteServiceRequests = null, $displayAlsoObsoleteSubscriptions = null, $displayAlsoObsoleteTickets = null, $displayAlsoObsoleteUnpaidItems = null, $displayAlsoReturnedGiftVouchers = null, $displayAlsoReturnedMemberships = null, $displayAlsoReturnedMerchandise = null, $displayAlsoReturnedPayments = null, $displayAlsoReturnedSubscriptions = null, $displayAlsoReturnedTickets = null, $displayAlsoSoftCredit = null, $displayAlsoSubscriptionTickets = null, $displayMode = null, $gridsDisplayModes = null)
    {
        $this
            ->setDefaultMenuTabAndInnerTab($defaultMenuTabAndInnerTab)
            ->setDefaultSearchSubject($defaultSearchSubject)
            ->setDisplayAlsoCancelledReservations($displayAlsoCancelledReservations)
            ->setDisplayAlsoNotInCustodyTickets($displayAlsoNotInCustodyTickets)
            ->setDisplayAlsoObsoleteClientCredits($displayAlsoObsoleteClientCredits)
            ->setDisplayAlsoObsoleteCreditCards($displayAlsoObsoleteCreditCards)
            ->setDisplayAlsoObsoleteDirectDebitMandates($displayAlsoObsoleteDirectDebitMandates)
            ->setDisplayAlsoObsoleteDraftInvoiceItems($displayAlsoObsoleteDraftInvoiceItems)
            ->setDisplayAlsoObsoleteEnrollments($displayAlsoObsoleteEnrollments)
            ->setDisplayAlsoObsoleteGiftVouchers($displayAlsoObsoleteGiftVouchers)
            ->setDisplayAlsoObsoleteMemberships($displayAlsoObsoleteMemberships)
            ->setDisplayAlsoObsoletePaymentPlans($displayAlsoObsoletePaymentPlans)
            ->setDisplayAlsoObsoletePledges($displayAlsoObsoletePledges)
            ->setDisplayAlsoObsoleteRefundVouchers($displayAlsoObsoleteRefundVouchers)
            ->setDisplayAlsoObsoleteReservations($displayAlsoObsoleteReservations)
            ->setDisplayAlsoObsoleteServiceRequests($displayAlsoObsoleteServiceRequests)
            ->setDisplayAlsoObsoleteSubscriptions($displayAlsoObsoleteSubscriptions)
            ->setDisplayAlsoObsoleteTickets($displayAlsoObsoleteTickets)
            ->setDisplayAlsoObsoleteUnpaidItems($displayAlsoObsoleteUnpaidItems)
            ->setDisplayAlsoReturnedGiftVouchers($displayAlsoReturnedGiftVouchers)
            ->setDisplayAlsoReturnedMemberships($displayAlsoReturnedMemberships)
            ->setDisplayAlsoReturnedMerchandise($displayAlsoReturnedMerchandise)
            ->setDisplayAlsoReturnedPayments($displayAlsoReturnedPayments)
            ->setDisplayAlsoReturnedSubscriptions($displayAlsoReturnedSubscriptions)
            ->setDisplayAlsoReturnedTickets($displayAlsoReturnedTickets)
            ->setDisplayAlsoSoftCredit($displayAlsoSoftCredit)
            ->setDisplayAlsoSubscriptionTickets($displayAlsoSubscriptionTickets)
            ->setDisplayMode($displayMode)
            ->setGridsDisplayModes($gridsDisplayModes);
    }
    /**
     * Get DefaultMenuTabAndInnerTab value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDefaultMenuTabAndInnerTab()
    {
        return isset($this->DefaultMenuTabAndInnerTab) ? $this->DefaultMenuTabAndInnerTab : null;
    }
    /**
     * Set DefaultMenuTabAndInnerTab value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $defaultMenuTabAndInnerTab
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDefaultMenuTabAndInnerTab($defaultMenuTabAndInnerTab = null)
    {
        // validation for constraint: string
        if (!is_null($defaultMenuTabAndInnerTab) && !is_string($defaultMenuTabAndInnerTab)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($defaultMenuTabAndInnerTab, true), gettype($defaultMenuTabAndInnerTab)), __LINE__);
        }
        if (is_null($defaultMenuTabAndInnerTab) || (is_array($defaultMenuTabAndInnerTab) && empty($defaultMenuTabAndInnerTab))) {
            unset($this->DefaultMenuTabAndInnerTab);
        } else {
            $this->DefaultMenuTabAndInnerTab = $defaultMenuTabAndInnerTab;
        }
        return $this;
    }
    /**
     * Get DefaultSearchSubject value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDefaultSearchSubject()
    {
        return isset($this->DefaultSearchSubject) ? $this->DefaultSearchSubject : null;
    }
    /**
     * Set DefaultSearchSubject value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $defaultSearchSubject
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDefaultSearchSubject($defaultSearchSubject = null)
    {
        // validation for constraint: string
        if (!is_null($defaultSearchSubject) && !is_string($defaultSearchSubject)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($defaultSearchSubject, true), gettype($defaultSearchSubject)), __LINE__);
        }
        if (is_null($defaultSearchSubject) || (is_array($defaultSearchSubject) && empty($defaultSearchSubject))) {
            unset($this->DefaultSearchSubject);
        } else {
            $this->DefaultSearchSubject = $defaultSearchSubject;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoCancelledReservations value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoCancelledReservations()
    {
        return isset($this->DisplayAlsoCancelledReservations) ? $this->DisplayAlsoCancelledReservations : null;
    }
    /**
     * Set DisplayAlsoCancelledReservations value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoCancelledReservations
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoCancelledReservations($displayAlsoCancelledReservations = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoCancelledReservations) && !is_bool($displayAlsoCancelledReservations)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoCancelledReservations, true), gettype($displayAlsoCancelledReservations)), __LINE__);
        }
        if (is_null($displayAlsoCancelledReservations) || (is_array($displayAlsoCancelledReservations) && empty($displayAlsoCancelledReservations))) {
            unset($this->DisplayAlsoCancelledReservations);
        } else {
            $this->DisplayAlsoCancelledReservations = $displayAlsoCancelledReservations;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoNotInCustodyTickets value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoNotInCustodyTickets()
    {
        return isset($this->DisplayAlsoNotInCustodyTickets) ? $this->DisplayAlsoNotInCustodyTickets : null;
    }
    /**
     * Set DisplayAlsoNotInCustodyTickets value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoNotInCustodyTickets
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoNotInCustodyTickets($displayAlsoNotInCustodyTickets = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoNotInCustodyTickets) && !is_bool($displayAlsoNotInCustodyTickets)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoNotInCustodyTickets, true), gettype($displayAlsoNotInCustodyTickets)), __LINE__);
        }
        if (is_null($displayAlsoNotInCustodyTickets) || (is_array($displayAlsoNotInCustodyTickets) && empty($displayAlsoNotInCustodyTickets))) {
            unset($this->DisplayAlsoNotInCustodyTickets);
        } else {
            $this->DisplayAlsoNotInCustodyTickets = $displayAlsoNotInCustodyTickets;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteClientCredits value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteClientCredits()
    {
        return isset($this->DisplayAlsoObsoleteClientCredits) ? $this->DisplayAlsoObsoleteClientCredits : null;
    }
    /**
     * Set DisplayAlsoObsoleteClientCredits value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteClientCredits
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteClientCredits($displayAlsoObsoleteClientCredits = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteClientCredits) && !is_bool($displayAlsoObsoleteClientCredits)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteClientCredits, true), gettype($displayAlsoObsoleteClientCredits)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteClientCredits) || (is_array($displayAlsoObsoleteClientCredits) && empty($displayAlsoObsoleteClientCredits))) {
            unset($this->DisplayAlsoObsoleteClientCredits);
        } else {
            $this->DisplayAlsoObsoleteClientCredits = $displayAlsoObsoleteClientCredits;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteCreditCards value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteCreditCards()
    {
        return isset($this->DisplayAlsoObsoleteCreditCards) ? $this->DisplayAlsoObsoleteCreditCards : null;
    }
    /**
     * Set DisplayAlsoObsoleteCreditCards value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteCreditCards
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteCreditCards($displayAlsoObsoleteCreditCards = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteCreditCards) && !is_bool($displayAlsoObsoleteCreditCards)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteCreditCards, true), gettype($displayAlsoObsoleteCreditCards)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteCreditCards) || (is_array($displayAlsoObsoleteCreditCards) && empty($displayAlsoObsoleteCreditCards))) {
            unset($this->DisplayAlsoObsoleteCreditCards);
        } else {
            $this->DisplayAlsoObsoleteCreditCards = $displayAlsoObsoleteCreditCards;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteDirectDebitMandates value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteDirectDebitMandates()
    {
        return isset($this->DisplayAlsoObsoleteDirectDebitMandates) ? $this->DisplayAlsoObsoleteDirectDebitMandates : null;
    }
    /**
     * Set DisplayAlsoObsoleteDirectDebitMandates value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteDirectDebitMandates
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteDirectDebitMandates($displayAlsoObsoleteDirectDebitMandates = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteDirectDebitMandates) && !is_bool($displayAlsoObsoleteDirectDebitMandates)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteDirectDebitMandates, true), gettype($displayAlsoObsoleteDirectDebitMandates)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteDirectDebitMandates) || (is_array($displayAlsoObsoleteDirectDebitMandates) && empty($displayAlsoObsoleteDirectDebitMandates))) {
            unset($this->DisplayAlsoObsoleteDirectDebitMandates);
        } else {
            $this->DisplayAlsoObsoleteDirectDebitMandates = $displayAlsoObsoleteDirectDebitMandates;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteDraftInvoiceItems value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteDraftInvoiceItems()
    {
        return isset($this->DisplayAlsoObsoleteDraftInvoiceItems) ? $this->DisplayAlsoObsoleteDraftInvoiceItems : null;
    }
    /**
     * Set DisplayAlsoObsoleteDraftInvoiceItems value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteDraftInvoiceItems
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteDraftInvoiceItems($displayAlsoObsoleteDraftInvoiceItems = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteDraftInvoiceItems) && !is_bool($displayAlsoObsoleteDraftInvoiceItems)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteDraftInvoiceItems, true), gettype($displayAlsoObsoleteDraftInvoiceItems)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteDraftInvoiceItems) || (is_array($displayAlsoObsoleteDraftInvoiceItems) && empty($displayAlsoObsoleteDraftInvoiceItems))) {
            unset($this->DisplayAlsoObsoleteDraftInvoiceItems);
        } else {
            $this->DisplayAlsoObsoleteDraftInvoiceItems = $displayAlsoObsoleteDraftInvoiceItems;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteEnrollments value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteEnrollments()
    {
        return isset($this->DisplayAlsoObsoleteEnrollments) ? $this->DisplayAlsoObsoleteEnrollments : null;
    }
    /**
     * Set DisplayAlsoObsoleteEnrollments value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteEnrollments
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteEnrollments($displayAlsoObsoleteEnrollments = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteEnrollments) && !is_bool($displayAlsoObsoleteEnrollments)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteEnrollments, true), gettype($displayAlsoObsoleteEnrollments)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteEnrollments) || (is_array($displayAlsoObsoleteEnrollments) && empty($displayAlsoObsoleteEnrollments))) {
            unset($this->DisplayAlsoObsoleteEnrollments);
        } else {
            $this->DisplayAlsoObsoleteEnrollments = $displayAlsoObsoleteEnrollments;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteGiftVouchers value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteGiftVouchers()
    {
        return isset($this->DisplayAlsoObsoleteGiftVouchers) ? $this->DisplayAlsoObsoleteGiftVouchers : null;
    }
    /**
     * Set DisplayAlsoObsoleteGiftVouchers value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteGiftVouchers
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteGiftVouchers($displayAlsoObsoleteGiftVouchers = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteGiftVouchers) && !is_bool($displayAlsoObsoleteGiftVouchers)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteGiftVouchers, true), gettype($displayAlsoObsoleteGiftVouchers)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteGiftVouchers) || (is_array($displayAlsoObsoleteGiftVouchers) && empty($displayAlsoObsoleteGiftVouchers))) {
            unset($this->DisplayAlsoObsoleteGiftVouchers);
        } else {
            $this->DisplayAlsoObsoleteGiftVouchers = $displayAlsoObsoleteGiftVouchers;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteMemberships value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteMemberships()
    {
        return isset($this->DisplayAlsoObsoleteMemberships) ? $this->DisplayAlsoObsoleteMemberships : null;
    }
    /**
     * Set DisplayAlsoObsoleteMemberships value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteMemberships
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteMemberships($displayAlsoObsoleteMemberships = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteMemberships) && !is_bool($displayAlsoObsoleteMemberships)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteMemberships, true), gettype($displayAlsoObsoleteMemberships)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteMemberships) || (is_array($displayAlsoObsoleteMemberships) && empty($displayAlsoObsoleteMemberships))) {
            unset($this->DisplayAlsoObsoleteMemberships);
        } else {
            $this->DisplayAlsoObsoleteMemberships = $displayAlsoObsoleteMemberships;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoletePaymentPlans value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoletePaymentPlans()
    {
        return isset($this->DisplayAlsoObsoletePaymentPlans) ? $this->DisplayAlsoObsoletePaymentPlans : null;
    }
    /**
     * Set DisplayAlsoObsoletePaymentPlans value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoletePaymentPlans
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoletePaymentPlans($displayAlsoObsoletePaymentPlans = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoletePaymentPlans) && !is_bool($displayAlsoObsoletePaymentPlans)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoletePaymentPlans, true), gettype($displayAlsoObsoletePaymentPlans)), __LINE__);
        }
        if (is_null($displayAlsoObsoletePaymentPlans) || (is_array($displayAlsoObsoletePaymentPlans) && empty($displayAlsoObsoletePaymentPlans))) {
            unset($this->DisplayAlsoObsoletePaymentPlans);
        } else {
            $this->DisplayAlsoObsoletePaymentPlans = $displayAlsoObsoletePaymentPlans;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoletePledges value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoletePledges()
    {
        return isset($this->DisplayAlsoObsoletePledges) ? $this->DisplayAlsoObsoletePledges : null;
    }
    /**
     * Set DisplayAlsoObsoletePledges value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoletePledges
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoletePledges($displayAlsoObsoletePledges = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoletePledges) && !is_bool($displayAlsoObsoletePledges)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoletePledges, true), gettype($displayAlsoObsoletePledges)), __LINE__);
        }
        if (is_null($displayAlsoObsoletePledges) || (is_array($displayAlsoObsoletePledges) && empty($displayAlsoObsoletePledges))) {
            unset($this->DisplayAlsoObsoletePledges);
        } else {
            $this->DisplayAlsoObsoletePledges = $displayAlsoObsoletePledges;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteRefundVouchers value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteRefundVouchers()
    {
        return isset($this->DisplayAlsoObsoleteRefundVouchers) ? $this->DisplayAlsoObsoleteRefundVouchers : null;
    }
    /**
     * Set DisplayAlsoObsoleteRefundVouchers value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteRefundVouchers
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteRefundVouchers($displayAlsoObsoleteRefundVouchers = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteRefundVouchers) && !is_bool($displayAlsoObsoleteRefundVouchers)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteRefundVouchers, true), gettype($displayAlsoObsoleteRefundVouchers)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteRefundVouchers) || (is_array($displayAlsoObsoleteRefundVouchers) && empty($displayAlsoObsoleteRefundVouchers))) {
            unset($this->DisplayAlsoObsoleteRefundVouchers);
        } else {
            $this->DisplayAlsoObsoleteRefundVouchers = $displayAlsoObsoleteRefundVouchers;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteReservations value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteReservations()
    {
        return isset($this->DisplayAlsoObsoleteReservations) ? $this->DisplayAlsoObsoleteReservations : null;
    }
    /**
     * Set DisplayAlsoObsoleteReservations value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteReservations
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteReservations($displayAlsoObsoleteReservations = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteReservations) && !is_bool($displayAlsoObsoleteReservations)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteReservations, true), gettype($displayAlsoObsoleteReservations)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteReservations) || (is_array($displayAlsoObsoleteReservations) && empty($displayAlsoObsoleteReservations))) {
            unset($this->DisplayAlsoObsoleteReservations);
        } else {
            $this->DisplayAlsoObsoleteReservations = $displayAlsoObsoleteReservations;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteServiceRequests value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteServiceRequests()
    {
        return isset($this->DisplayAlsoObsoleteServiceRequests) ? $this->DisplayAlsoObsoleteServiceRequests : null;
    }
    /**
     * Set DisplayAlsoObsoleteServiceRequests value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteServiceRequests
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteServiceRequests($displayAlsoObsoleteServiceRequests = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteServiceRequests) && !is_bool($displayAlsoObsoleteServiceRequests)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteServiceRequests, true), gettype($displayAlsoObsoleteServiceRequests)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteServiceRequests) || (is_array($displayAlsoObsoleteServiceRequests) && empty($displayAlsoObsoleteServiceRequests))) {
            unset($this->DisplayAlsoObsoleteServiceRequests);
        } else {
            $this->DisplayAlsoObsoleteServiceRequests = $displayAlsoObsoleteServiceRequests;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteSubscriptions value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteSubscriptions()
    {
        return isset($this->DisplayAlsoObsoleteSubscriptions) ? $this->DisplayAlsoObsoleteSubscriptions : null;
    }
    /**
     * Set DisplayAlsoObsoleteSubscriptions value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteSubscriptions
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteSubscriptions($displayAlsoObsoleteSubscriptions = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteSubscriptions) && !is_bool($displayAlsoObsoleteSubscriptions)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteSubscriptions, true), gettype($displayAlsoObsoleteSubscriptions)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteSubscriptions) || (is_array($displayAlsoObsoleteSubscriptions) && empty($displayAlsoObsoleteSubscriptions))) {
            unset($this->DisplayAlsoObsoleteSubscriptions);
        } else {
            $this->DisplayAlsoObsoleteSubscriptions = $displayAlsoObsoleteSubscriptions;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteTickets value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteTickets()
    {
        return isset($this->DisplayAlsoObsoleteTickets) ? $this->DisplayAlsoObsoleteTickets : null;
    }
    /**
     * Set DisplayAlsoObsoleteTickets value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteTickets
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteTickets($displayAlsoObsoleteTickets = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteTickets) && !is_bool($displayAlsoObsoleteTickets)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteTickets, true), gettype($displayAlsoObsoleteTickets)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteTickets) || (is_array($displayAlsoObsoleteTickets) && empty($displayAlsoObsoleteTickets))) {
            unset($this->DisplayAlsoObsoleteTickets);
        } else {
            $this->DisplayAlsoObsoleteTickets = $displayAlsoObsoleteTickets;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoObsoleteUnpaidItems value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoObsoleteUnpaidItems()
    {
        return isset($this->DisplayAlsoObsoleteUnpaidItems) ? $this->DisplayAlsoObsoleteUnpaidItems : null;
    }
    /**
     * Set DisplayAlsoObsoleteUnpaidItems value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoObsoleteUnpaidItems
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoObsoleteUnpaidItems($displayAlsoObsoleteUnpaidItems = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoObsoleteUnpaidItems) && !is_bool($displayAlsoObsoleteUnpaidItems)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoObsoleteUnpaidItems, true), gettype($displayAlsoObsoleteUnpaidItems)), __LINE__);
        }
        if (is_null($displayAlsoObsoleteUnpaidItems) || (is_array($displayAlsoObsoleteUnpaidItems) && empty($displayAlsoObsoleteUnpaidItems))) {
            unset($this->DisplayAlsoObsoleteUnpaidItems);
        } else {
            $this->DisplayAlsoObsoleteUnpaidItems = $displayAlsoObsoleteUnpaidItems;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoReturnedGiftVouchers value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoReturnedGiftVouchers()
    {
        return isset($this->DisplayAlsoReturnedGiftVouchers) ? $this->DisplayAlsoReturnedGiftVouchers : null;
    }
    /**
     * Set DisplayAlsoReturnedGiftVouchers value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoReturnedGiftVouchers
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoReturnedGiftVouchers($displayAlsoReturnedGiftVouchers = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoReturnedGiftVouchers) && !is_bool($displayAlsoReturnedGiftVouchers)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoReturnedGiftVouchers, true), gettype($displayAlsoReturnedGiftVouchers)), __LINE__);
        }
        if (is_null($displayAlsoReturnedGiftVouchers) || (is_array($displayAlsoReturnedGiftVouchers) && empty($displayAlsoReturnedGiftVouchers))) {
            unset($this->DisplayAlsoReturnedGiftVouchers);
        } else {
            $this->DisplayAlsoReturnedGiftVouchers = $displayAlsoReturnedGiftVouchers;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoReturnedMemberships value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoReturnedMemberships()
    {
        return isset($this->DisplayAlsoReturnedMemberships) ? $this->DisplayAlsoReturnedMemberships : null;
    }
    /**
     * Set DisplayAlsoReturnedMemberships value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoReturnedMemberships
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoReturnedMemberships($displayAlsoReturnedMemberships = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoReturnedMemberships) && !is_bool($displayAlsoReturnedMemberships)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoReturnedMemberships, true), gettype($displayAlsoReturnedMemberships)), __LINE__);
        }
        if (is_null($displayAlsoReturnedMemberships) || (is_array($displayAlsoReturnedMemberships) && empty($displayAlsoReturnedMemberships))) {
            unset($this->DisplayAlsoReturnedMemberships);
        } else {
            $this->DisplayAlsoReturnedMemberships = $displayAlsoReturnedMemberships;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoReturnedMerchandise value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoReturnedMerchandise()
    {
        return isset($this->DisplayAlsoReturnedMerchandise) ? $this->DisplayAlsoReturnedMerchandise : null;
    }
    /**
     * Set DisplayAlsoReturnedMerchandise value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoReturnedMerchandise
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoReturnedMerchandise($displayAlsoReturnedMerchandise = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoReturnedMerchandise) && !is_bool($displayAlsoReturnedMerchandise)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoReturnedMerchandise, true), gettype($displayAlsoReturnedMerchandise)), __LINE__);
        }
        if (is_null($displayAlsoReturnedMerchandise) || (is_array($displayAlsoReturnedMerchandise) && empty($displayAlsoReturnedMerchandise))) {
            unset($this->DisplayAlsoReturnedMerchandise);
        } else {
            $this->DisplayAlsoReturnedMerchandise = $displayAlsoReturnedMerchandise;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoReturnedPayments value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoReturnedPayments()
    {
        return isset($this->DisplayAlsoReturnedPayments) ? $this->DisplayAlsoReturnedPayments : null;
    }
    /**
     * Set DisplayAlsoReturnedPayments value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoReturnedPayments
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoReturnedPayments($displayAlsoReturnedPayments = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoReturnedPayments) && !is_bool($displayAlsoReturnedPayments)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoReturnedPayments, true), gettype($displayAlsoReturnedPayments)), __LINE__);
        }
        if (is_null($displayAlsoReturnedPayments) || (is_array($displayAlsoReturnedPayments) && empty($displayAlsoReturnedPayments))) {
            unset($this->DisplayAlsoReturnedPayments);
        } else {
            $this->DisplayAlsoReturnedPayments = $displayAlsoReturnedPayments;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoReturnedSubscriptions value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoReturnedSubscriptions()
    {
        return isset($this->DisplayAlsoReturnedSubscriptions) ? $this->DisplayAlsoReturnedSubscriptions : null;
    }
    /**
     * Set DisplayAlsoReturnedSubscriptions value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoReturnedSubscriptions
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoReturnedSubscriptions($displayAlsoReturnedSubscriptions = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoReturnedSubscriptions) && !is_bool($displayAlsoReturnedSubscriptions)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoReturnedSubscriptions, true), gettype($displayAlsoReturnedSubscriptions)), __LINE__);
        }
        if (is_null($displayAlsoReturnedSubscriptions) || (is_array($displayAlsoReturnedSubscriptions) && empty($displayAlsoReturnedSubscriptions))) {
            unset($this->DisplayAlsoReturnedSubscriptions);
        } else {
            $this->DisplayAlsoReturnedSubscriptions = $displayAlsoReturnedSubscriptions;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoReturnedTickets value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoReturnedTickets()
    {
        return isset($this->DisplayAlsoReturnedTickets) ? $this->DisplayAlsoReturnedTickets : null;
    }
    /**
     * Set DisplayAlsoReturnedTickets value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoReturnedTickets
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoReturnedTickets($displayAlsoReturnedTickets = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoReturnedTickets) && !is_bool($displayAlsoReturnedTickets)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoReturnedTickets, true), gettype($displayAlsoReturnedTickets)), __LINE__);
        }
        if (is_null($displayAlsoReturnedTickets) || (is_array($displayAlsoReturnedTickets) && empty($displayAlsoReturnedTickets))) {
            unset($this->DisplayAlsoReturnedTickets);
        } else {
            $this->DisplayAlsoReturnedTickets = $displayAlsoReturnedTickets;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoSoftCredit value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoSoftCredit()
    {
        return isset($this->DisplayAlsoSoftCredit) ? $this->DisplayAlsoSoftCredit : null;
    }
    /**
     * Set DisplayAlsoSoftCredit value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoSoftCredit
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoSoftCredit($displayAlsoSoftCredit = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoSoftCredit) && !is_bool($displayAlsoSoftCredit)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoSoftCredit, true), gettype($displayAlsoSoftCredit)), __LINE__);
        }
        if (is_null($displayAlsoSoftCredit) || (is_array($displayAlsoSoftCredit) && empty($displayAlsoSoftCredit))) {
            unset($this->DisplayAlsoSoftCredit);
        } else {
            $this->DisplayAlsoSoftCredit = $displayAlsoSoftCredit;
        }
        return $this;
    }
    /**
     * Get DisplayAlsoSubscriptionTickets value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getDisplayAlsoSubscriptionTickets()
    {
        return isset($this->DisplayAlsoSubscriptionTickets) ? $this->DisplayAlsoSubscriptionTickets : null;
    }
    /**
     * Set DisplayAlsoSubscriptionTickets value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $displayAlsoSubscriptionTickets
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayAlsoSubscriptionTickets($displayAlsoSubscriptionTickets = null)
    {
        // validation for constraint: boolean
        if (!is_null($displayAlsoSubscriptionTickets) && !is_bool($displayAlsoSubscriptionTickets)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($displayAlsoSubscriptionTickets, true), gettype($displayAlsoSubscriptionTickets)), __LINE__);
        }
        if (is_null($displayAlsoSubscriptionTickets) || (is_array($displayAlsoSubscriptionTickets) && empty($displayAlsoSubscriptionTickets))) {
            unset($this->DisplayAlsoSubscriptionTickets);
        } else {
            $this->DisplayAlsoSubscriptionTickets = $displayAlsoSubscriptionTickets;
        }
        return $this;
    }
    /**
     * Get DisplayMode value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDisplayMode()
    {
        return isset($this->DisplayMode) ? $this->DisplayMode : null;
    }
    /**
     * Set DisplayMode value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @uses \patest\EnumType\RelatedClientViewMode::valueIsValid()
     * @uses \patest\EnumType\RelatedClientViewMode::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $displayMode
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setDisplayMode($displayMode = null)
    {
        // validation for constraint: enumeration
        if (!\patest\EnumType\RelatedClientViewMode::valueIsValid($displayMode)) {
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \patest\EnumType\RelatedClientViewMode', is_array($displayMode) ? implode(', ', $displayMode) : var_export($displayMode, true), implode(', ', \patest\EnumType\RelatedClientViewMode::getValidValues())), __LINE__);
        }
        if (is_null($displayMode) || (is_array($displayMode) && empty($displayMode))) {
            unset($this->DisplayMode);
        } else {
            $this->DisplayMode = $displayMode;
        }
        return $this;
    }
    /**
     * Get GridsDisplayModes value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getGridsDisplayModes()
    {
        return isset($this->GridsDisplayModes) ? $this->GridsDisplayModes : null;
    }
    /**
     * Set GridsDisplayModes value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $gridsDisplayModes
     * @return \patest\StructType\Security_CrmUserParameters
     */
    public function setGridsDisplayModes($gridsDisplayModes = null)
    {
        // validation for constraint: string
        if (!is_null($gridsDisplayModes) && !is_string($gridsDisplayModes)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($gridsDisplayModes, true), gettype($gridsDisplayModes)), __LINE__);
        }
        if (is_null($gridsDisplayModes) || (is_array($gridsDisplayModes) && empty($gridsDisplayModes))) {
            unset($this->GridsDisplayModes);
        } else {
            $this->GridsDisplayModes = $gridsDisplayModes;
        }
        return $this;
    }
}
