/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiLayawayDtoLayawaySummary" /> class.
/// </summary>
/// <param name="businessUnitGroupID">BusinessUnitGroup identificator of the business unit, where the Layaway was created (required).</param>
/// <param name="layawayID">ID of the Layaway (= Transaction ID of Layaway create TX) (required).</param>
/// <param name="createTimestamp">Timestamp when Layaway was created; Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone) (required).</param>
/// <param name="createTimestampUTC0">UTC0 timestamp when Layaway was created; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone) (required).</param>
/// <param name="statusCode">Status of the Layaway. Supported are:ACTIVEVOIDED FULLY_PAIDCLAIMEDTERMINATEDEXPIREDREBOOKED (required).</param>
/// <param name="suspendedFlag">Layaway is blocked while there is a suspended, non-retrieved Layaway relevant TX .Its not allowed to do anything else than to retrieve this suspend and finalize it. Or to expire/rebook/terminate a layaway. (required).</param>
/// <param name="rebookedFlag">To know if layaway was already rebooked even if it is in CLAIMED status.Default: falseWill only be changed if Layaway Rebooking TX is consumed. (required).</param>
/// <param name="claimedFlag">To know if layaway was already claimed even if it is in REBOOKED status.Default: falseWill only be changed if Layaway Claimed TX is consumed. (required).</param>
/// <param name="laywayUpdateSequence">Incrementing number counting modifications of a layaway, so that it is possible to find out which LW manipulation was the last (required).</param>
/// <param name="lastUpdateTimeStamp">Last change of StatusCode; Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone) (required).</param>
/// <param name="lastUpdateTimeStampUTC0">UTC0 timestamp of the last change of StatusCode; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone) (required).</param>
/// <param name="customerID">Assigned customer ID to Layaway..</param>
/// <param name="expirationDate">Expiration date of the Layaway (including the tolerance time). Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="expirationDateUTC0">UTC0 time of expiration date. UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone).</param>
/// <param name="expirationNotificationDate">Expiration date for customer (excluding the tolerance time). Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="expirationNotificationDateUTC0">UTC0 time of expiration date for customer. UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone).</param>
/// <param name="terminationDate">Termination date of the layaway. This is the date after no futher modifications of layaway are not allowed. Be it payment or whatever. Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="terminationDateUTC0">UTC0 time of TerminationDate; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone).</param>
/// <param name="totalAmount">Total order value of the Layaway. (required).</param>
/// <param name="totalDownPaymentsAmount">Total of the already payed down payments of the Layaway. (required).</param>
/// <param name="penaltyFee">The fee has to be paid in case the customer retrieves its money back from an expired Layaway..</param>
/// <param name="cancellationFee">The fee has to be paid in case the customer is voiding the complete Layaway..</param>
/// <param name="layawayLineItemList">List of Layaway line items.</param>
/// <param name="layawayCorrelationChecksum">Checksum of all related layaway transactions, used to guaranteee the state of the layaway while modifying it by storing additional transaction..</param>
/// <param name="latestOrderPositionTransactionID">TransactionID for 'Latest Order Position Relevant TX'.</param>
/// <param name="expirationDateExtendedFlag">To know if the expiration date of a layaway was already extended.Default: falseWill only be changed if Extended Layaway TX is consumed..</param>
/// <param name="xxcustom05">standard extension pattern for extending calculation in project.</param>
/// <param name="xxcustom03">standard extension pattern for extending calculation in project.</param>
/// <param name="xxcustom02">standard extension pattern for extending calculation in project.</param>
/// <param name="xxcustom04">standard extension pattern for extending calculation in project.</param>
/// <param name="xxcustom01">standard extension pattern for extending calculation in project.</param>
/// Layaway is blocked while there is a suspended, non-retrieved Layaway relevant TX .Its not allowed to do anything else than to retrieve this suspend and finalize it. Or to expire/rebook/terminate a layaway.
/// </summary>
/// <value>Layaway is blocked while there is a suspended, non-retrieved Layaway relevant TX .Its not allowed to do anything else than to retrieve this suspend and finalize it. Or to expire/rebook/terminate a layaway.</value>
/// To know if layaway was already rebooked even if it is in CLAIMED status.Default: falseWill only be changed if Layaway Rebooking TX is consumed.
/// </summary>
/// <value>To know if layaway was already rebooked even if it is in CLAIMED status.Default: falseWill only be changed if Layaway Rebooking TX is consumed.</value>
/// To know if layaway was already claimed even if it is in REBOOKED status.Default: falseWill only be changed if Layaway Claimed TX is consumed.
/// </summary>
/// <value>To know if layaway was already claimed even if it is in REBOOKED status.Default: falseWill only be changed if Layaway Claimed TX is consumed.</value>
/// Expiration date of the Layaway (including the tolerance time). Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)
/// </summary>
/// <value>Expiration date of the Layaway (including the tolerance time). Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)</value>
/// Termination date of the layaway. This is the date after no futher modifications of layaway are not allowed. Be it payment or whatever. Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)
/// </summary>
/// <value>Termination date of the layaway. This is the date after no futher modifications of layaway are not allowed. Be it payment or whatever. Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)</value>
/// Checksum of all related layaway transactions, used to guaranteee the state of the layaway while modifying it by storing additional transaction.
/// </summary>
/// <value>Checksum of all related layaway transactions, used to guaranteee the state of the layaway while modifying it by storing additional transaction.</value>
/// To know if the expiration date of a layaway was already extended.Default: falseWill only be changed if Extended Layaway TX is consumed.
/// </summary>
/// <value>To know if the expiration date of a layaway was already extended.Default: falseWill only be changed if Extended Layaway TX is consumed.</value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommand" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="command">designed for POS server processes (e.g. EOD) to set some commands to POSes (e.g. PERFORM_EOD_PROCEDURE) (required).</param>
/// <param name="createTimestamp">time of creation; Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone) (required).</param>
/// <param name="createTimestampUTC0">UTC0 time of creation; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone) (required).</param>
thrownewInvalidDataException("key is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommand and cannot be null");
}
else
{
this.Key=key;
}
// to ensure "command" is required (not null)
if(command==null)
{
thrownewInvalidDataException("command is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommand and cannot be null");
}
else
{
this.Command=command;
}
// to ensure "createTimestamp" is required (not null)
if(createTimestamp==null)
{
thrownewInvalidDataException("createTimestamp is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommand and cannot be null");
}
else
{
this.CreateTimestamp=createTimestamp;
}
// to ensure "createTimestampUTC0" is required (not null)
if(createTimestampUTC0==null)
{
thrownewInvalidDataException("createTimestampUTC0 is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommand and cannot be null");
}
else
{
this.CreateTimestampUTC0=createTimestampUTC0;
}
this.Xxcustom05=xxcustom05;
this.Xxcustom03=xxcustom03;
this.Xxcustom02=xxcustom02;
this.Xxcustom04=xxcustom04;
this.Xxcustom01=xxcustom01;
}
/// <summary>
/// <p>Getter for inner key class.</p>
/// </summary>
/// <value><p>Getter for inner key class.</p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommandKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID">store ID (required).</param>
/// <param name="workstationID">workstation ID (required).</param>
/// <param name="sessionID">designed for POS server functions - the unique id from special pool will be generated'0' for POS (required).</param>
/// <param name="commandID">identificator for deleting by POS's (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommandKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "workstationID" is required (not null)
if(workstationID==null)
{
thrownewInvalidDataException("workstationID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommandKey and cannot be null");
}
else
{
this.WorkstationID=workstationID;
}
// to ensure "sessionID" is required (not null)
if(sessionID==null)
{
thrownewInvalidDataException("sessionID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommandKey and cannot be null");
}
else
{
this.SessionID=sessionID;
}
// to ensure "commandID" is required (not null)
if(commandID==null)
{
thrownewInvalidDataException("commandID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationCommandKey and cannot be null");
/// <param name="workstationLastConnectedTimestamp">the time of last workstation ping.if current time - WorkstationLastConnectedTimestamp > TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="loginType">POS, ACCOUNTING, TECHNICAL - this info is used for concurrency check when the operator tries to login on more workstations (required).</param>
/// <param name="operatorID">signed operator id. EMPTY if operator does sign off.the information is not guaranteed if workstation is considered as offline.</param>
/// <param name="workstationLastConnectedTimestampUTC0">the UTC0 time of last workstation ping.if current time - WorkstationLastConnectedTimestamp > TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone).</param>
/// <param name="token">token to be used in successive calls, otherwise the data will be rejected. This provides control if calls are done in correct order.If background process is about to notify server that client is still alive and operator is login in, request from the background process can get delayed and can be processed after login request, effectively login out the user, so correct order is important..</param>
thrownewInvalidDataException("key is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatus and cannot be null");
}
else
{
this.Key=key;
}
// to ensure "workstationLastConnectedAddress" is required (not null)
if(workstationLastConnectedAddress==null)
{
thrownewInvalidDataException("workstationLastConnectedAddress is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatus and cannot be null");
/// the time of last workstation ping.if current time - WorkstationLastConnectedTimestamp > TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)
/// </summary>
/// <value>the time of last workstation ping.if current time - WorkstationLastConnectedTimestamp > TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)</value>
/// the UTC0 time of last workstation ping.if current time - WorkstationLastConnectedTimestamp > TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone)
/// </summary>
/// <value>the UTC0 time of last workstation ping.if current time - WorkstationLastConnectedTimestamp > TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone)</value>
/// token to be used in successive calls, otherwise the data will be rejected. This provides control if calls are done in correct order.If background process is about to notify server that client is still alive and operator is login in, request from the background process can get delayed and can be processed after login request, effectively login out the user, so correct order is important.
/// </summary>
/// <value>token to be used in successive calls, otherwise the data will be rejected. This provides control if calls are done in correct order.If background process is about to notify server that client is still alive and operator is login in, request from the background process can get delayed and can be processed after login request, effectively login out the user, so correct order is important.</value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatusKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID">store ID (required).</param>
/// <param name="workstationID">workstation ID (required).</param>
/// <param name="sessionID">designed for POS server functions - the unique id from special pool will be generated'0' for POS (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatusKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "workstationID" is required (not null)
if(workstationID==null)
{
thrownewInvalidDataException("workstationID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatusKey and cannot be null");
}
else
{
this.WorkstationID=workstationID;
}
// to ensure "sessionID" is required (not null)
if(sessionID==null)
{
thrownewInvalidDataException("sessionID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatusKey and cannot be null");
thrownewInvalidDataException("key is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatus and cannot be null");
}
else
{
this.Key=key;
}
// to ensure "tenderRepositoryClassType" is required (not null)
if(tenderRepositoryClassType==null)
{
thrownewInvalidDataException("tenderRepositoryClassType is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatus and cannot be null");
// to ensure "exclusiveLevel" is required (not null)
if(exclusiveLevel==null)
{
thrownewInvalidDataException("exclusiveLevel is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatus and cannot be null");
}
else
{
this.ExclusiveLevel=exclusiveLevel;
}
this.Xxcustom05=xxcustom05;
this.Xxcustom03=xxcustom03;
this.Xxcustom02=xxcustom02;
this.Xxcustom04=xxcustom04;
this.Xxcustom01=xxcustom01;
}
/// <summary>
/// <p>Getter for inner key class.</p>
/// </summary>
/// <value><p>Getter for inner key class.</p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatusKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID">store ID (required).</param>
/// <param name="workstationID">workstation ID (required).</param>
/// <param name="sessionID">designed for POS server functions - the unique id from special pool will be generated'0' for POS (required).</param>
/// <param name="tenderRepositoryID">assigned till or safe (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatusKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
// to ensure "workstationID" is required (not null)
if(workstationID==null)
{
thrownewInvalidDataException("workstationID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatusKey and cannot be null");
}
else
{
this.WorkstationID=workstationID;
}
// to ensure "sessionID" is required (not null)
if(sessionID==null)
{
thrownewInvalidDataException("sessionID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatusKey and cannot be null");
}
else
{
this.SessionID=sessionID;
}
// to ensure "tenderRepositoryID" is required (not null)
if(tenderRepositoryID==null)
{
thrownewInvalidDataException("tenderRepositoryID is a required property for ComGkSoftwareGkrApiLoginManagerDtoWorkstationTenderRepositoryStatusKey and cannot be null");
// to ensure "retailTransactionLineItemSequenceNumber" is required (not null)
if(retailTransactionLineItemSequenceNumber==null)
{
thrownewInvalidDataException("retailTransactionLineItemSequenceNumber is a required property for ComGkSoftwareGkrApiRefundServiceDtoLineItemRefundDataKey and cannot be null");
thrownewInvalidDataException("tid is a required property for ComGkSoftwareGkrApiServerCommonTranslationsDtoDomTranslationDOKey and cannot be null");
}
else
{
this.Tid=tid;
}
// to ensure "languageID" is required (not null)
if(languageID==null)
{
thrownewInvalidDataException("languageID is a required property for ComGkSoftwareGkrApiServerCommonTranslationsDtoDomTranslationDOKey and cannot be null");
}
else
{
this.LanguageID=languageID;
}
// to ensure "translationKey" is required (not null)
if(translationKey==null)
{
thrownewInvalidDataException("translationKey is a required property for ComGkSoftwareGkrApiServerCommonTranslationsDtoDomTranslationDOKey and cannot be null");
/// <param name="bankAccountNumber"><p>Bank account number in a national format, not international.<br /></p>.</param>
/// <param name="nationalBankIdentificationCode"><p>Bank identification code in a national format.<br /></p>.</param>
/// <param name="internationalBankAccountNumber"><p>International bank account number (IBAN). A standard number standardized in accordance with the ECBS (European Commitee for Banking Standards) to represent bank details.<br /></p>.</param>
/// <param name="bankIdentificationCode"><p>Bank identification code in the international format (BIC). Uniquely identifies a bank throughout the world.<br /></p>.</param>
/// <param name="bankAccountTypeCode"><p>This type code is used to differ between multiple bank accounts. Optional - if not provided then filled in the import.<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>International bank account number (IBAN). A standard number standardized in accordance with the ECBS (European Commitee for Banking Standards) to represent bank details.<br /></p>
/// </summary>
/// <value><p>International bank account number (IBAN). A standard number standardized in accordance with the ECBS (European Commitee for Banking Standards) to represent bank details.<br /></p></value>
/// <p>Bank identification code in the international format (BIC). Uniquely identifies a bank throughout the world.<br /></p>
/// </summary>
/// <value><p>Bank identification code in the international format (BIC). Uniquely identifies a bank throughout the world.<br /></p></value>
/// <p>This type code is used to differ between multiple bank accounts. Optional - if not provided then filled in the import.<br /></p>
/// </summary>
/// <value><p>This type code is used to differ between multiple bank accounts. Optional - if not provided then filled in the import.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdBusinessUnitDtoDomBusinessUnitContactFilter" /> class.
/// </summary>
/// <param name="businessUnitID"><p>Identifier for a retail store, distribution center or administration center (internal identifier).<br /></p>.</param>
/// <param name="businessUnitGroupID"><p>Identifier for a group of business units.<br /></p>.</param>
/// BusinessUnitDO <p>A retail store, distribution center or administration center at which the retailer conducts retail operations.<br /></p>
/// <p>The status of business unit. Possible values include the codes for enabled, disabled, scheduled for deletion, deleted.<br /></p>
/// </summary>
/// <value><p>The status of business unit. Possible values include the codes for enabled, disabled, scheduled for deletion, deleted.<br /></p></value>
[JsonConverter(typeof(StringEnumConverter))]
publicenumBusinessUnitStatusCodeEnum
{
/// <summary>
/// Enum ENABLED for value: ENABLED
/// </summary>
[EnumMember(Value="ENABLED")]
ENABLED=1,
/// <summary>
/// Enum DISABLED for value: DISABLED
/// </summary>
[EnumMember(Value="DISABLED")]
DISABLED=2,
/// <summary>
/// Enum SCHEDULEDFORDELETION for value: SCHEDULED_FOR_DELETION
/// </summary>
[EnumMember(Value="SCHEDULED_FOR_DELETION")]
SCHEDULEDFORDELETION=3,
/// <summary>
/// Enum DELETED for value: DELETED
/// </summary>
[EnumMember(Value="DELETED")]
DELETED=4
}
/// <summary>
/// <p>The status of business unit. Possible values include the codes for enabled, disabled, scheduled for deletion, deleted.<br /></p>
/// </summary>
/// <value><p>The status of business unit. Possible values include the codes for enabled, disabled, scheduled for deletion, deleted.<br /></p></value>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdBusinessUnitDtoDomBusinessUnitDO" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="externalBusinessUnitID"><p>External identifier for the business unit.<br /></p>.</param>
/// <param name="parentBusinessUnitGroupID"><p>ID of the parent business unit group<br /></p>.</param>
/// <param name="parentExternalBusinessUnitGroupID"><p>External ID of the parent business unit group<br /></p>.</param>
/// <param name="businessUnitGroupLevelID"><p>A unique internal identifier for a level within the business unit grouping hierarchy.<br /></p>.</param>
/// <param name="externalBusinessUnitGroupLevelID"><p>Name of the level within the business unit grouping hierarchy (external identifier of level).<br /></p>.</param>
/// <param name="isoCountryCode"><p>The country code of the store.<br /></p>.</param>
/// <param name="timeZoneCode"><p>SAP time zone code<br /></p>.</param>
/// <param name="timeZoneLongID"><p>ID of the time zone in the Java format (e.g. 'US/Eastern', 'Europe/Prague')<br /></p>.</param>
/// <param name="languageID"><p>ISO-Code of the language which is used in the business unit<br /></p>.</param>
/// <param name="name"><p>The name of the business unit<br /></p>.</param>
/// <param name="surrogateName"><p>The surrogate name of the business unit<br /></p>.</param>
/// <param name="gkEffectiveDate"><p>Effective date of the assignment to the GK<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone).</param>
/// <param name="regionFlag"><p>Determines the assignment to the RG business unit group hierarchy<br /></p>.</param>
/// <param name="independentRetailerFlag"><p>Determines the assignment to the SEH business unit group hierarchy<br /></p>.</param>
/// <param name="ownerOfMultipleStoresParentID"><p>ID of the parent business unit group with the function code 'OMS'<br /></p>.</param>
/// <param name="gkSystemFlag"><p>Determines whether the GK system is installed in the store or not<br /></p>.</param>
/// <param name="mainCurrencyID"><p>Identifier of the main currency of the retail store.<br /></p>.</param>
/// <param name="exportToGfkFlag"><p>Determines whether this store provides data to the GFK organization<br /></p>.</param>
/// <param name="size"><p>The size of the retail store. This is usually split by the non-sales and sales areas.<br /></p>.</param>
/// <param name="sellingAreaSize"><p>The size of the selling floor. In a large store this is further split by the sales floor and by the merchandise departments.<br /></p>.</param>
/// <param name="merchandiseHierarchyFunctionCode"><p>Code of the MerchandiseHierarchyFunction which is relevant for that store<br /></p>.</param>
/// <param name="includesSalesTaxFlag"><p>Indicates if the prices include all applicable sales taxes or not.<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="alternateISOCurrencyCode"><p>The second currency which is e.g. to be shown in the receipt total and to be printed on the receipt (during the time of changing of a local currency to EURO)<br /></p>.</param>
/// <param name="mainWeighingUnit"><p>The name of the unit which is mainly used for weighing information<br /></p>.</param>
/// <param name="purchasingOrganization"><p>An organizational unit responsible for procuring materials or services for one or more plants and for negotiating general conditions of purchase with suppliers.<br /></p>.</param>
/// <param name="receiverLocationList"><p>List of receiving locations.<br /></p>.</param>
/// <param name="companyCodeList"><p>List of company codes of the store.<br /></p>.</param>
/// <param name="bankAccountList"><p>List of bank accounts<br /></p>.</param>
/// <param name="partyID"><p>ID of the party information<br /></p>.</param>
/// <param name="party"><p>Reference to the party structure<br /></p>.</param>
/// <param name="contact"><p>List of contacts<br /></p>.</param>
/// <param name="translationList"><p>List of translations for the business unit.<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="salesOrganizationID"><p>Identifier of an organizational unit responsible for the sale of certain products or services.<br /> The responsibility of a sales organization may include legal liability for products and customer claims.<br /></p>.</param>
/// <param name="distributionChannelTypeCode"><p>Distribution channel is the way in which products or services reach the customer.<br /> Typical examples of distribution channels are wholesale, retail, or direct sales.<br /></p>.</param>
/// <param name="deleteTimestampUTC0"><p>The UTC0 date and time when the business unit was finally deleted<br /></p> UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone).</param>
/// <param name="businessUnitStatusCode"><p>The status of business unit. Possible values include the codes for enabled, disabled, scheduled for deletion, deleted.<br /></p>.</param>
/// <param name="latitudeDecimalDegrees"><p>Geo positional co-ordinates of a business unit specifying its latitude using Decimal Degrees system (ISO 6709).<br /></p>.</param>
/// <param name="longitudeDecimalDegrees"><p>Geo positional co-ordinates of a business unit specifying its longitude using Decimal Degrees system (ISO 6709).<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="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>Effective date of the assignment to the GK<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)
/// </summary>
/// <value><p>Effective date of the assignment to the GK<br /></p> Date format 'yyyy-MM-dd'T'HH:mm:ss.SSS' (no timezone)</value>
/// <p>The size of the retail store. This is usually split by the non-sales and sales areas.<br /></p>
/// </summary>
/// <value><p>The size of the retail store. This is usually split by the non-sales and sales areas.<br /></p></value>
[DataMember(Name="size",EmitDefaultValue=false)]
publicdouble?Size{get;set;}
/// <summary>
/// <p>The size of the selling floor. In a large store this is further split by the sales floor and by the merchandise departments.<br /></p>
/// </summary>
/// <value><p>The size of the selling floor. In a large store this is further split by the sales floor and by the merchandise departments.<br /></p></value>
/// <p>The second currency which is e.g. to be shown in the receipt total and to be printed on the receipt (during the time of changing of a local currency to EURO)<br /></p>
/// </summary>
/// <value><p>The second currency which is e.g. to be shown in the receipt total and to be printed on the receipt (during the time of changing of a local currency to EURO)<br /></p></value>
/// <p>An organizational unit responsible for procuring materials or services for one or more plants and for negotiating general conditions of purchase with suppliers.<br /></p>
/// </summary>
/// <value><p>An organizational unit responsible for procuring materials or services for one or more plants and for negotiating general conditions of purchase with suppliers.<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>Identifier of an organizational unit responsible for the sale of certain products or services.<br /> The responsibility of a sales organization may include legal liability for products and customer claims.<br /></p>
/// </summary>
/// <value><p>Identifier of an organizational unit responsible for the sale of certain products or services.<br /> The responsibility of a sales organization may include legal liability for products and customer claims.<br /></p></value>
/// <p>Distribution channel is the way in which products or services reach the customer.<br /> Typical examples of distribution channels are wholesale, retail, or direct sales.<br /></p>
/// </summary>
/// <value><p>Distribution channel is the way in which products or services reach the customer.<br /> Typical examples of distribution channels are wholesale, retail, or direct sales.<br /></p></value>
/// <p>The UTC0 date and time when the business unit was finally deleted<br /></p> UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone)
/// </summary>
/// <value><p>The UTC0 date and time when the business unit was finally deleted<br /></p> UTC0 date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ' (with timezone)</value>
/// <p>Geo positional co-ordinates of a business unit specifying its latitude using Decimal Degrees system (ISO 6709).<br /></p>
/// </summary>
/// <value><p>Geo positional co-ordinates of a business unit specifying its latitude using Decimal Degrees system (ISO 6709).<br /></p></value>
/// <p>Geo positional co-ordinates of a business unit specifying its longitude using Decimal Degrees system (ISO 6709).<br /></p>
/// </summary>
/// <value><p>Geo positional co-ordinates of a business unit specifying its longitude using Decimal Degrees system (ISO 6709).<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="ComGkSoftwareGkrApiServerMdBusinessUnitDtoDomBusinessUnitDOKey" /> class.
/// </summary>
/// <param name="businessUnitID"><p>A unique retailer assigned identifier for a retail store, distribution center or administration center (internal identifier).<br /></p> (required).</param>
/// <param name="businessUnitGroupID"><p>A unique system assigned identifier for the group of business units.<br /></p> (required).</param>
// to ensure "businessUnitID" is required (not null)
if(businessUnitID==null)
{
thrownewInvalidDataException("businessUnitID is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitDtoDomBusinessUnitDOKey and cannot be null");
}
else
{
this.BusinessUnitID=businessUnitID;
}
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitDtoDomBusinessUnitDOKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
}
/// <summary>
/// <p>A unique retailer assigned identifier for a retail store, distribution center or administration center (internal identifier).<br /></p>
/// </summary>
/// <value><p>A unique retailer assigned identifier for a retail store, distribution center or administration center (internal identifier).<br /></p></value>
/// BusinessUnitGroupDO <p>A related group of administration centers, distribution centers and retail stores, with names like group, cluster, region, district, zone and state.<br /> The lowest level of BusinessUnitGroup is in a one-to-one relationship with business unit. ie: The lowest level of each BusinessUnitGroupFunction hierarchy is a BusinessUnitGroup containing one &amp; only one BusinessUnit.<br /></p>
/// Initializes a new instance of the <see cref="ComGkSoftwareGkrApiServerMdBusinessUnitGroupDtoDomBusinessUnitGroupDO" /> class.
/// </summary>
/// <param name="key"><p>Getter for inner key class.</p> (required).</param>
/// <param name="languageID"><p>Language of the business unit group.<br /></p>.</param>
/// <param name="name"><p>The common name for the business unit group<br /></p>.</param>
/// <param name="externalBusinessUnitGroupID"><p>External identifier of the business unit group.<br /></p>.</param>
/// <param name="businessUnitGroupFunctionID"><p>A business function for which business unit groups are placed into separate grouping hierarchies.<br /></p>.</param>
/// <param name="businessUnitGroupLevelID"><p>A unique internal identifier for a level within the business unit grouping hierarchy.<br /></p>.</param>
/// <param name="businessUnitGroupDepth"><p>The distance from the root of the business unit group tree which applies to the business unit. Is used in order to increase the performance.<br /></p>.</param>
/// <param name="translationList"><p>List of translations for business unit group.<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="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 ComGkSoftwareGkrApiServerMdBusinessUnitGroupDtoDomBusinessUnitGroupDO and cannot be null");
/// <p>The distance from the root of the business unit group tree which applies to the business unit. Is used in order to increase the performance.<br /></p>
/// </summary>
/// <value><p>The distance from the root of the business unit group tree which applies to the business unit. Is used in order to increase the performance.<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="ComGkSoftwareGkrApiServerMdBusinessUnitGroupDtoDomBusinessUnitGroupDOKey" /> class.
/// </summary>
/// <param name="businessUnitGroupID"><p>A unique system assigned identifier for a group of business units.<br /></p> (required).</param>
// to ensure "businessUnitGroupID" is required (not null)
if(businessUnitGroupID==null)
{
thrownewInvalidDataException("businessUnitGroupID is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitGroupDtoDomBusinessUnitGroupDOKey and cannot be null");
}
else
{
this.BusinessUnitGroupID=businessUnitGroupID;
}
}
/// <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="translationList"><p>List of translations for the denomination.<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="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 ComGkSoftwareGkrApiServerMdBusinessUnitTextDtoDomBusinessUnitTextDO and cannot be null");
}
else
{
this.Key=key;
}
// to ensure "receiptTextValue" is required (not null)
if(receiptTextValue==null)
{
thrownewInvalidDataException("receiptTextValue is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitTextDtoDomBusinessUnitTextDO and cannot be null");
}
else
{
this.ReceiptTextValue=receiptTextValue;
}
this.TranslationList=translationList;
this.PackageID=packageID;
this.Tid=tid;
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>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>
// to ensure "businessUnitID" is required (not null)
if(businessUnitID==null)
{
thrownewInvalidDataException("businessUnitID is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitTextDtoDomBusinessUnitTextDOKey and cannot be null");
}
else
{
this.BusinessUnitID=businessUnitID;
}
// to ensure "receiptTextKey" is required (not null)
if(receiptTextKey==null)
{
thrownewInvalidDataException("receiptTextKey is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitTextDtoDomBusinessUnitTextDOKey and cannot be null");
}
else
{
this.ReceiptTextKey=receiptTextKey;
}
// to ensure "receiptTextSequenceNumber" is required (not null)
if(receiptTextSequenceNumber==null)
{
thrownewInvalidDataException("receiptTextSequenceNumber is a required property for ComGkSoftwareGkrApiServerMdBusinessUnitTextDtoDomBusinessUnitTextDOKey and cannot be null");