/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdContactDtoDomContactAddress" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="city"><p>The city, town or village component of the address.<br /></p>.</param>
/// <param name="postalCode"><p>The postal or zip code of the address.<br /> Used also for postalCodeOfPOBox.<br /></p>.</param>
/// <param name="isoCountryCode"><p>The country code of the company or the person.<br /></p>.</param>
/// <param name="subTerritoryName"><p>Name of the region.<br /> Used also for district.<br /></p>.</param>
/// <param name="territoryName"><p>Name of federal state.<br /></p>.</param>
/// <param name="addressLine1"><p>The first line of the address, normally the street name and number.<br /> Used also for poBox.<br /></p>.</param>
/// <param name="addressLine2"><p>The second line of an address, normally the Flat or Building Suite number.<br /></p>.</param>
/// <param name="addressLine3"><p>The third line of the address<br /></p>.</param>
/// <param name="addressLine4"><p>The fourth line of the address.<br /></p>.</param>
/// <param name="addressLine5"><p>The fifth line of the address.<br /> Also used for salutation.<br /></p>.</param>
/// <param name="postalCodeExtension"><p>The extension of the postal or zip code that further specifies a particular postal district.<br /></p>.</param>
/// <param name="territory"><p>A state, province, or other region within a country.<br /></p>.</param>
/// <param name="marketingAllowedFlag"><p>Denotes if the contact address data can be used for marketing purposes.<br /></p>.</param>
/// <param name="taxHandlingCode"><p>Tax handling code defined within the customer address (region) is used for the tax calculation.<br /></p>.</param>
/// <param name="xxcustom08"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom10"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom09"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom07"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom06"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom11"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom12"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom13"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom14"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom15"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom16"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom17"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom18"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom19"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom20"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom21"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom22"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom23"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom24"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom25"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom26"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom27"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom28"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom29"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom30"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
// to ensure "contactPurposeTypeCode" is required (not null)
if(contactPurposeTypeCode==null)
{
thrownewInvalidDataException("contactPurposeTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactAddressKey and cannot be null");
// to ensure "contactMethodTypeCode" is required (not null)
if(contactMethodTypeCode==null)
{
thrownewInvalidDataException("contactMethodTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactAddressKey and cannot be null");
}
else
{
this.ContactMethodTypeCode=contactMethodTypeCode;
}
}
/// <summary>
/// <p>Code denoting a reason for contacting a Party.<br /></p>
/// </summary>
/// <value><p>Code denoting a reason for contacting a Party.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdContactDtoDomContactDOKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID"><p>The unique identifier of the business unit group.<br /></p> (required).</param>
/// <param name="partyID"><p>A unique, system assigned identity for a Party.<br /></p> (required).</param>
/// <param name="partyRoleTypeCode"><p>A code that identifies a group of PARTY ROLES. This is used for subtyping the PARTY ROLEs<br /></p> (required).</param>
/// <param name="sequenceNumber"><p>A unique system assigned identifier for the particular assignment of Party to the PartyRole.<br /></p> (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactDOKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "partyID" is required (not null)
if(partyID==null)
{
thrownewInvalidDataException("partyID is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactDOKey and cannot be null");
}
else
{
this.PartyID=partyID;
}
// to ensure "partyRoleTypeCode" is required (not null)
if(partyRoleTypeCode==null)
{
thrownewInvalidDataException("partyRoleTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactDOKey and cannot be null");
}
else
{
this.PartyRoleTypeCode=partyRoleTypeCode;
}
// to ensure "sequenceNumber" is required (not null)
if(sequenceNumber==null)
{
thrownewInvalidDataException("sequenceNumber is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactDOKey and cannot be null");
}
else
{
this.SequenceNumber=sequenceNumber;
}
}
/// <summary>
/// <p>The unique identifier of the business unit group.<br /></p>
/// </summary>
/// <value><p>The unique identifier of the business unit group.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdContactDtoDomContactEmailAddress" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="emailAddress"><p>E-mail address of the company or the person.<br /></p>.</param>
/// <param name="marketingAllowedFlag"><p>Denotes if the contact email address data can be used for marketing purposes.<br /></p>.</param>
/// <param name="xxcustom08"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom10"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom09"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom07"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom06"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom11"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom12"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom13"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom14"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom15"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom16"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom17"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom18"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom19"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom20"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom21"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom22"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom23"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom24"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom25"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom26"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom27"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom28"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom29"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom30"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
// to ensure "contactPurposeTypeCode" is required (not null)
if(contactPurposeTypeCode==null)
{
thrownewInvalidDataException("contactPurposeTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactEmailAddressKey and cannot be null");
// to ensure "contactMethodTypeCode" is required (not null)
if(contactMethodTypeCode==null)
{
thrownewInvalidDataException("contactMethodTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactEmailAddressKey and cannot be null");
}
else
{
this.ContactMethodTypeCode=contactMethodTypeCode;
}
}
/// <summary>
/// <p>Code denoting a reason for contacting a Party.<br /></p>
/// </summary>
/// <value><p>Code denoting a reason for contacting a Party.<br /></p></value>
/// <param name="marketingAllowedFlag"><p>Denotes if the contact telephone data can be used for marketing purposes.<br /></p>.</param>
/// <param name="xxcustom08"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom10"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom09"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom07"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom06"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom11"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom12"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom13"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom14"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom15"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom16"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom17"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom18"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom19"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom20"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom21"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom22"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom23"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom24"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom25"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom26"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom27"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom28"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom29"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom30"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
// to ensure "contactPurposeTypeCode" is required (not null)
if(contactPurposeTypeCode==null)
{
thrownewInvalidDataException("contactPurposeTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactTelephoneKey and cannot be null");
// to ensure "contactMethodTypeCode" is required (not null)
if(contactMethodTypeCode==null)
{
thrownewInvalidDataException("contactMethodTypeCode is a required property for ComGkSoftwareGkrApiServerMdContactDtoDomContactTelephoneKey and cannot be null");
}
else
{
this.ContactMethodTypeCode=contactMethodTypeCode;
}
}
/// <summary>
/// <p>Code denoting a reason for contacting a Party.<br /></p>
/// </summary>
/// <value><p>Code denoting a reason for contacting a Party.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCurrencyDtoDomCurrencyDO" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="symbol"><p>National symbol for the main unit of currency, e.g. £, $, etc<br /></p>.</param>
/// <param name="translationList"><p>List of translations for the currency.<br /></p>.</param>
/// <param name="packageID"><p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p>.</param>
/// <param name="tid"><p>Translation identifier - used for the unique identification of translations in the common translation table.<br /></p>.</param>
/// <param name="xxcustom08"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom10"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom09"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom07"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom06"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom11"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom12"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom13"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom14"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom15"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="isocountryCode"><p>The ISO code of the country issuing the currency.<br /></p>.</param>
/// <param name="isocurrencyName"><p>A name of the currency, i.e. pounds sterling, US dollars, Canadian dollars, etc.<br /></p>.</param>
/// <param name="isocurrencyNumber"><p>Numeric code assigned by ISO to identify national currencies.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom16"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom17"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom18"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom19"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom20"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom21"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom22"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom23"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom24"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom25"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom26"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom27"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom28"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom29"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom30"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
/// <p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p>
/// </summary>
/// <value><p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p></value>
/// <p>Translation identifier - used for the unique identification of translations in the common translation table.<br /></p>
/// </summary>
/// <value><p>Translation identifier - used for the unique identification of translations in the common translation table.<br /></p></value>
[DataMember(Name="tid",EmitDefaultValue=false)]
publicstringTid{get;set;}
/// <summary>
/// <p>Additional field for custom development.<br /></p>
/// </summary>
/// <value><p>Additional field for custom development.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCurrencyDtoDomCurrencyDOKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID"><p>The unique identifier of the business unit group.<br /></p> (required).</param>
/// <param name="isocurrencyCode"><p>Currency code designated by ISO to identify national currency. The unique identifier of the currency.<br /></p> (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiServerMdCurrencyDtoDomCurrencyDOKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "isocurrencyCode" is required (not null)
if(isocurrencyCode==null)
{
thrownewInvalidDataException("isocurrencyCode is a required property for ComGkSoftwareGkrApiServerMdCurrencyDtoDomCurrencyDOKey and cannot be null");
}
else
{
this.IsocurrencyCode=isocurrencyCode;
}
}
/// <summary>
/// <p>The unique identifier of the business unit group.<br /></p>
/// </summary>
/// <value><p>The unique identifier of the business unit group.<br /></p></value>
/// <p>Currency code designated by ISO to identify national currency. The unique identifier of the currency.<br /></p>
/// </summary>
/// <value><p>Currency code designated by ISO to identify national currency. The unique identifier of the currency.<br /></p></value>
/// <p>Defines how the result is to be rounded:<br /></p><br /><ul><br /> <li> NO_ROUNDING(00) = no rounding</li><br /> <li> ROUND_HALF_UP(01) = round half up (round up for &gt;= 0.5, else round down),</li><br /> <li> ROUND_DOWN(02) = round down</li><br /> <li> ROUND_UP(03) = round up</li><br /> <li> ROUND_HALF_DOWN(04) = round half down (round up for &gt; 0.5, else round down)</li><br /></ul>
/// </summary>
/// <value><p>Defines how the result is to be rounded:<br /></p><br /><ul><br /> <li> NO_ROUNDING(00) = no rounding</li><br /> <li> ROUND_HALF_UP(01) = round half up (round up for &gt;= 0.5, else round down),</li><br /> <li> ROUND_DOWN(02) = round down</li><br /> <li> ROUND_UP(03) = round up</li><br /> <li> ROUND_HALF_DOWN(04) = round half down (round up for &gt; 0.5, else round down)</li><br /></ul></value>
[JsonConverter(typeof(StringEnumConverter))]
publicenumRoundMethodCodeEnum
{
/// <summary>
/// Enum NOROUNDING for value: NO_ROUNDING
/// </summary>
[EnumMember(Value="NO_ROUNDING")]
NOROUNDING=1,
/// <summary>
/// Enum ROUNDHALFUP for value: ROUND_HALF_UP
/// </summary>
[EnumMember(Value="ROUND_HALF_UP")]
ROUNDHALFUP=2,
/// <summary>
/// Enum ROUNDDOWN for value: ROUND_DOWN
/// </summary>
[EnumMember(Value="ROUND_DOWN")]
ROUNDDOWN=3,
/// <summary>
/// Enum ROUNDUP for value: ROUND_UP
/// </summary>
[EnumMember(Value="ROUND_UP")]
ROUNDUP=4,
/// <summary>
/// Enum ROUNDHALFDOWN for value: ROUND_HALF_DOWN
/// </summary>
[EnumMember(Value="ROUND_HALF_DOWN")]
ROUNDHALFDOWN=5
}
/// <summary>
/// <p>Defines how the result is to be rounded:<br /></p><br /><ul><br /> <li> NO_ROUNDING(00) = no rounding</li><br /> <li> ROUND_HALF_UP(01) = round half up (round up for &gt;= 0.5, else round down),</li><br /> <li> ROUND_DOWN(02) = round down</li><br /> <li> ROUND_UP(03) = round up</li><br /> <li> ROUND_HALF_DOWN(04) = round half down (round up for &gt; 0.5, else round down)</li><br /></ul>
/// </summary>
/// <value><p>Defines how the result is to be rounded:<br /></p><br /><ul><br /> <li> NO_ROUNDING(00) = no rounding</li><br /> <li> ROUND_HALF_UP(01) = round half up (round up for &gt;= 0.5, else round down),</li><br /> <li> ROUND_DOWN(02) = round down</li><br /> <li> ROUND_UP(03) = round up</li><br /> <li> ROUND_HALF_DOWN(04) = round half down (round up for &gt; 0.5, else round down)</li><br /></ul></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCurrencyRoundingRuleDtoDomCurrencyRoundingRuleDO" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="roundMethodCode"><p>Defines how the result is to be rounded:<br /></p><br /><ul><br /> <li> NO_ROUNDING(00) = no rounding</li><br /> <li> ROUND_HALF_UP(01) = round half up (round up for &gt;= 0.5, else round down),</li><br /> <li> ROUND_DOWN(02) = round down</li><br /> <li> ROUND_UP(03) = round up</li><br /> <li> ROUND_HALF_DOWN(04) = round half down (round up for &gt; 0.5, else round down)</li><br /></ul>.</param>
/// <param name="roundDecimalCount"><p>Count of decimals which the result should have<br /></p>.</param>
/// <param name="roundDestinationValue"><p>Additional information for rounding, possible values:<br /></p><br /><ul><br /> <li>null / 1: no additional treatment of the rounded result necessary</li><br /> <li>5: the rounded result is to be adjusted to the next resp. previous multiple of 5</li><br /></ul>.</param>
/// <param name="roundPaymentAmount"><p>Defines the denomination value that is used for rounding payment amounts on POS.<br /></p>.</param>
/// <param name="packageID"><p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p>.</param>
/// <param name="xxcustom08"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom10"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom09"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom07"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom06"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom11"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom12"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom13"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom14"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom15"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom16"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom17"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom18"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom19"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom20"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom21"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom22"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom23"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom24"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom25"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom26"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom27"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom28"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom29"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom30"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
thrownewInvalidDataException("key is a required property for ComGkSoftwareGkrApiServerMdCurrencyRoundingRuleDtoDomCurrencyRoundingRuleDO and cannot be null");
}
else
{
this.Key=key;
}
this.RoundMethodCode=roundMethodCode;
this.RoundDecimalCount=roundDecimalCount;
this.RoundDestinationValue=roundDestinationValue;
this.RoundPaymentAmount=roundPaymentAmount;
this.PackageID=packageID;
this.Xxcustom08=xxcustom08;
this.Xxcustom10=xxcustom10;
this.Xxcustom09=xxcustom09;
this.Xxcustom07=xxcustom07;
this.Xxcustom05=xxcustom05;
this.Xxcustom06=xxcustom06;
this.Xxcustom11=xxcustom11;
this.Xxcustom12=xxcustom12;
this.Xxcustom13=xxcustom13;
this.Xxcustom14=xxcustom14;
this.Xxcustom15=xxcustom15;
this.Xxcustom03=xxcustom03;
this.Xxcustom02=xxcustom02;
this.Xxcustom04=xxcustom04;
this.Xxcustom16=xxcustom16;
this.Xxcustom17=xxcustom17;
this.Xxcustom18=xxcustom18;
this.Xxcustom19=xxcustom19;
this.Xxcustom20=xxcustom20;
this.Xxcustom21=xxcustom21;
this.Xxcustom22=xxcustom22;
this.Xxcustom23=xxcustom23;
this.Xxcustom24=xxcustom24;
this.Xxcustom25=xxcustom25;
this.Xxcustom26=xxcustom26;
this.Xxcustom27=xxcustom27;
this.Xxcustom28=xxcustom28;
this.Xxcustom29=xxcustom29;
this.Xxcustom30=xxcustom30;
this.Xxcustom01=xxcustom01;
}
/// <summary>
/// <p>Getter for inner key class.</p>
/// </summary>
/// <value><p>Getter for inner key class.</p></value>
/// <p>Additional information for rounding, possible values:<br /></p><br /><ul><br /> <li>null / 1: no additional treatment of the rounded result necessary</li><br /> <li>5: the rounded result is to be adjusted to the next resp. previous multiple of 5</li><br /></ul>
/// </summary>
/// <value><p>Additional information for rounding, possible values:<br /></p><br /><ul><br /> <li>null / 1: no additional treatment of the rounded result necessary</li><br /> <li>5: the rounded result is to be adjusted to the next resp. previous multiple of 5</li><br /></ul></value>
/// <p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p>
/// </summary>
/// <value><p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p></value>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiServerMdCurrencyRoundingRuleDtoDomCurrencyRoundingRuleDOKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "isocurrencyCode" is required (not null)
if(isocurrencyCode==null)
{
thrownewInvalidDataException("isocurrencyCode is a required property for ComGkSoftwareGkrApiServerMdCurrencyRoundingRuleDtoDomCurrencyRoundingRuleDOKey and cannot be null");
}
else
{
this.IsocurrencyCode=isocurrencyCode;
}
}
/// <summary>
/// <p>The unique identifier of the business unit group.<br /></p>
/// </summary>
/// <value><p>The unique identifier of the business unit group.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCustomerDtoDomCreditCard" /> class.
/// </summary>
/// <param name="cardNumber"><p>The card number (Identifier).<br /></p> (required).</param>
/// <param name="externalPartyIdentificationProviderID"><p>A retailer assigned code denoting the official body that issued the PartyIdentification to the Party.<br /></p>.</param>
/// <param name="lockingTypeCode"><p>Defines why this identifier is locked.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
/// <p>A retailer assigned code denoting the official body that issued the PartyIdentification to the Party.<br /></p>
/// </summary>
/// <value><p>A retailer assigned code denoting the official body that issued the PartyIdentification to the Party.<br /></p></value>
/// CustomerContactFilter <p>A customer is a person or individual who purchases, may purchase, or did purchase goods or services from a retail store.<br /></p>
/// <ul><br /> <li>PERSON - if table person is filled</li><br /> <li>ORGANIZATION - if table orgabnization is filled</li><br /></ul>
/// </summary>
/// <value><ul><br /> <li>PERSON - if table person is filled</li><br /> <li>ORGANIZATION - if table orgabnization is filled</li><br /></ul></value>
[JsonConverter(typeof(StringEnumConverter))]
publicenumCustomerTypeEnum
{
/// <summary>
/// Enum PERSON for value: PERSON
/// </summary>
[EnumMember(Value="PERSON")]
PERSON=1,
/// <summary>
/// Enum ORGANIZATION for value: ORGANIZATION
/// </summary>
[EnumMember(Value="ORGANIZATION")]
ORGANIZATION=2
}
/// <summary>
/// <ul><br /> <li>PERSON - if table person is filled</li><br /> <li>ORGANIZATION - if table orgabnization is filled</li><br /></ul>
/// </summary>
/// <value><ul><br /> <li>PERSON - if table person is filled</li><br /> <li>ORGANIZATION - if table orgabnization is filled</li><br /></ul></value>
/// <param name="street"><p>The street name and number<br /></p>.</param>
/// <param name="city"><p>The city, town or village component of the address.<br /></p>.</param>
/// <param name="postalCode"><p>The postal or zip code of the address.<br /> Used also for postalCodeOfPOBox.<br /></p>.</param>
/// <param name="isoCountryCode"><p>The ISO country code<br /></p>.</param>
/// <param name="territoryName"><p>Name of the region.<br /> Used also for district.<br /></p>.</param>
/// <param name="completeTelephoneNumber"><p>The complete telephone number including the country code, area code, telephone number and extension number.<br /></p>.</param>
/// <param name="customerType"><ul><br /> <li>PERSON - if table person is filled</li><br /> <li>ORGANIZATION - if table orgabnization is filled</li><br /></ul>.</param>
/// <param name="dataProtectCode"><p>The data protection code being used for the evaluation of the data protection requirements.<br /></p>.</param>
/// <p>The complete telephone number including the country code, area code, telephone number and extension number.<br /></p>
/// </summary>
/// <value><p>The complete telephone number including the country code, area code, telephone number and extension number.<br /></p></value>
/// CustomerDO <p>A customer is a person or individual who purchases, may purchase, or did purchase goods or services from a retail store.<br /></p>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCustomerDtoDomCustomerDO" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="externalBusinessUnitGroupID"><p>An external unique identifier for a group of business units.<br /></p>.</param>
/// <param name="allowedTermsOfPayment"><p>Denotes the group of allowed tenders.<br /></p>.</param>
/// <param name="creditLimit"><p>Credit limit of the customer.<br /></p>.</param>
/// <param name="personalID"><p>The personal number, unique key for the employee identification. (The number of the Identification that identifies the Party).<br /></p>.</param>
/// <param name="prohibitedTermsOfPayment"><p>Denotes the group of prohibited tenders.<br /></p>.</param>
/// <param name="remainingCreditLimit"><p>Remaining credit limit of the customer. (Total credit limit - amounts of invoices which haven't been paid yet).<br /></p>.</param>
/// <param name="salesTaxLiableFlag"><p>Determines whether the customer is liable to tax on sales<br /></p>.</param>
/// <param name="statusCode"><p>The current status code of the customer, e.g. active, blocked.<br /></p>.</param>
/// <param name="preferredReceiptPrintoutTypeCode"><p>Default printout mode of the customer.<br /></p>.</param>
/// <param name="taxNumber"><p>The company's tax number given by the tax office (this is not the sales tax ID).<br /></p>.</param>
/// <param name="creditCardList"><p>List of the customer credit cards.<br /></p>.</param>
/// <param name="customerCardList"><p>List of the customer cards.<br /></p>.</param>
/// <param name="customerGroupIDList"><p>List of CustomerGroupID's.<br /></p>.</param>
/// <param name="partyIdentification"><p>An official number that may be used to identify a Party. People and businesses have multiple forms of such identification: Drivers License number, Passport number, Credit / Debit Card number, Company Incorporation number, Tax number, etc...<br /></p>.</param>
/// <param name="organization"><p>Additional data for the organization if the customer is a organization.<br /></p>.</param>
/// <param name="contact"><p>Contacts for the customer, e.g. address, telephone, fax, email-address.<br /></p>.</param>
/// <param name="party"><p>Reference to the party structure<br /></p>.</param>
/// <param name="person"><p>Additional data for the person if the customer is a person.<br /></p>.</param>
/// <param name="packageID"><p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p>.</param>
/// <param name="declarationAvailable"><p>Denotes if the customer declaration is available.<br /></p>.</param>
/// <param name="dateOfRecord"><p>Date of the customer declaration.<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="recordedBy"><p>Identification of person who has recorded the customer declaration (e.g. ID of logged Operator).<br /></p>.</param>
/// <param name="statisticalUseAllowed"><p>Denotes if the customer data can be used for statistical purposes.<br /></p>.</param>
/// <param name="lastAccessDate"><p>Timestamp of the last access to the data.<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="dataProtectCode"><p>The data protection code being used for the evaluation of the data protection requirements.<br /></p>.</param>
/// <param name="parentCustomerID"><p>A unique system assigned identifier for the Customer.<br /></p>.</param>
/// <param name="partnerRoleList"><p>List of the customer partner roles.<br /></p>.</param>
/// <param name="parentCustomerName1"><p>First Name Line of the customer to which this buyer / contact person belongs.<br /></p>.</param>
/// <param name="parentCustomerName2"><p>Second Name Line of the customer to which this buyer / contact person belongs.<br /></p>.</param>
/// <param name="xxcustom08"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom10"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom09"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom07"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom05"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom06"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom11"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom12"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom13"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom14"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom15"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom03"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom02"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom04"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom16"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom17"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom18"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom19"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom20"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom21"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom22"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom23"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom24"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom25"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom26"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom27"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom28"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom29"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom30"><p>Additional field for custom development.<br /></p>.</param>
/// <param name="xxcustom01"><p>Additional field for custom development.<br /></p>.</param>
/// <p>The personal number, unique key for the employee identification. (The number of the Identification that identifies the Party).<br /></p>
/// </summary>
/// <value><p>The personal number, unique key for the employee identification. (The number of the Identification that identifies the Party).<br /></p></value>
/// <p>Remaining credit limit of the customer. (Total credit limit - amounts of invoices which haven't been paid yet).<br /></p>
/// </summary>
/// <value><p>Remaining credit limit of the customer. (Total credit limit - amounts of invoices which haven't been paid yet).<br /></p></value>
/// <p>An official number that may be used to identify a Party. People and businesses have multiple forms of such identification: Drivers License number, Passport number, Credit / Debit Card number, Company Incorporation number, Tax number, etc...<br /></p>
/// </summary>
/// <value><p>An official number that may be used to identify a Party. People and businesses have multiple forms of such identification: Drivers License number, Passport number, Credit / Debit Card number, Company Incorporation number, Tax number, etc...<br /></p></value>
/// <p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p>
/// </summary>
/// <value><p>Internal identification of the import package (e.g. IDoc file). The identification is used for monitoring purposes.<br /></p></value>
/// <p>Date of the customer declaration.<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)
/// </summary>
/// <value><p>Date of the customer declaration.<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)</value>
/// <p>Timestamp of the last access to the data.<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)
/// </summary>
/// <value><p>Timestamp of the last access to the data.<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)</value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCustomerDtoDomCustomerDOKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID"><p>A unique system assigned identifier for a group of business units.<br /></p> (required).</param>
/// <param name="customerID"><p>A unique identifier for the customer.<br /></p> (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiServerMdCustomerDtoDomCustomerDOKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "customerID" is required (not null)
if(customerID==null)
{
thrownewInvalidDataException("customerID is a required property for ComGkSoftwareGkrApiServerMdCustomerDtoDomCustomerDOKey and cannot be null");
}
else
{
this.CustomerID=customerID;
}
}
/// <summary>
/// <p>A unique system assigned identifier for a group of business units.<br /></p>
/// </summary>
/// <value><p>A unique system assigned identifier for a group of business units.<br /></p></value>
/// <param name="legalStatusCode"><p>Legal status code is a code which is used to define a tax classification of the customer. It specifies the kind of treatment for tax purpose.<br /></p>.</param>
/// <p>Legal status code is a code which is used to define a tax classification of the customer. It specifies the kind of treatment for tax purpose.<br /></p>
/// </summary>
/// <value><p>Legal status code is a code which is used to define a tax classification of the customer. It specifies the kind of treatment for tax purpose.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdCustomerDtoDomPartnerRole" /> class.
/// </summary>
/// <param name="partnerParentCustomerID"><p>A unique system assigned identifier for the Customer.<br /></p> (required).</param>
/// <param name="partnerRoleTypeCode"><p>The type of the partner role.<br /></p> (required).</param>
/// <param name="defaultFlag"><p>Determines whether this partner role is the default one in case that multiple partner roles exist.<br /></p> (required).</param>
// to ensure "partnerParentCustomerID" is required (not null)
if(partnerParentCustomerID==null)
{
thrownewInvalidDataException("partnerParentCustomerID is a required property for ComGkSoftwareGkrApiServerMdCustomerDtoDomPartnerRole and cannot be null");
// to ensure "partnerRoleTypeCode" is required (not null)
if(partnerRoleTypeCode==null)
{
thrownewInvalidDataException("partnerRoleTypeCode is a required property for ComGkSoftwareGkrApiServerMdCustomerDtoDomPartnerRole and cannot be null");
}
else
{
this.PartnerRoleTypeCode=partnerRoleTypeCode;
}
// to ensure "defaultFlag" is required (not null)
if(defaultFlag==null)
{
thrownewInvalidDataException("defaultFlag is a required property for ComGkSoftwareGkrApiServerMdCustomerDtoDomPartnerRole and cannot be null");
}
else
{
this.DefaultFlag=defaultFlag;
}
}
/// <summary>
/// <p>A unique system assigned identifier for the Customer.<br /></p>
/// </summary>
/// <value><p>A unique system assigned identifier for the Customer.<br /></p></value>