/// <summary> /// Initializes a new instance of the <see cref="OBWriteDomesticScheduled2DataInitiation" /> class. /// </summary> /// <param name="instructionIdentification">Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (required).</param> /// <param name="endToEndIdentification">Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field..</param> /// <param name="localInstrument">User community specific instrument. Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level..</param> /// <param name="requestedExecutionDateTime">Date at which the initiating party requests the clearing agent to process the payment. Usage: This is the date on which the debtor's account is to be debited.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00 (required).</param> /// <param name="instructedAmount">instructedAmount (required).</param> /// <param name="debtorAccount">debtorAccount.</param> /// <param name="creditorAccount">creditorAccount (required).</param> /// <param name="creditorPostalAddress">creditorPostalAddress.</param> /// <param name="remittanceInformation">remittanceInformation.</param> /// <param name="supplementaryData">Additional information that can not be captured in the structured fields and/or any other specific block..</param> public OBWriteDomesticScheduled2DataInitiation(string instructionIdentification = default(string), string endToEndIdentification = default(string), string localInstrument = default(string), DateTimeOffset requestedExecutionDateTime = default(DateTimeOffset), OBWriteDomestic2DataInitiationInstructedAmount instructedAmount = default(OBWriteDomestic2DataInitiationInstructedAmount), OBWriteDomestic2DataInitiationDebtorAccount debtorAccount = default(OBWriteDomestic2DataInitiationDebtorAccount), OBWriteDomestic2DataInitiationCreditorAccount creditorAccount = default(OBWriteDomestic2DataInitiationCreditorAccount), OBPostalAddress6 creditorPostalAddress = default(OBPostalAddress6), OBWriteDomestic2DataInitiationRemittanceInformation remittanceInformation = default(OBWriteDomestic2DataInitiationRemittanceInformation), Dictionary <string, Object> supplementaryData = default(Dictionary <string, Object>)) { // to ensure "instructionIdentification" is required (not null) this.InstructionIdentification = instructionIdentification ?? throw new ArgumentNullException("instructionIdentification is a required property for OBWriteDomesticScheduled2DataInitiation and cannot be null"); this.RequestedExecutionDateTime = requestedExecutionDateTime; // to ensure "instructedAmount" is required (not null) this.InstructedAmount = instructedAmount ?? throw new ArgumentNullException("instructedAmount is a required property for OBWriteDomesticScheduled2DataInitiation and cannot be null"); // to ensure "creditorAccount" is required (not null) this.CreditorAccount = creditorAccount ?? throw new ArgumentNullException("creditorAccount is a required property for OBWriteDomesticScheduled2DataInitiation and cannot be null"); this.EndToEndIdentification = endToEndIdentification; this.LocalInstrument = localInstrument; this.DebtorAccount = debtorAccount; this.CreditorPostalAddress = creditorPostalAddress; this.RemittanceInformation = remittanceInformation; this.SupplementaryData = supplementaryData; }
/// <summary> /// Initializes a new instance of the <see cref="OBWriteInternational2DataInitiation" /> class. /// </summary> /// <param name="instructionIdentification">Unique identification as assigned by an instructing party for an instructed party to unambiguously identify the instruction. Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction. (required).</param> /// <param name="endToEndIdentification">Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. OB: The Faster Payments Scheme can only access 31 characters for the EndToEndIdentification field. (required).</param> /// <param name="localInstrument">User community specific instrument. Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level..</param> /// <param name="instructionPriority">Indicator of the urgency or order of importance that the instructing party would like the instructed party to apply to the processing of the instruction..</param> /// <param name="purpose">Specifies the external purpose code in the format of character string with a maximum length of 4 characters. The list of valid codes is an external code list published separately. External code sets can be downloaded from www.iso20022.org..</param> /// <param name="chargeBearer">chargeBearer.</param> /// <param name="currencyOfTransfer">Specifies the currency of the to be transferred amount, which is different from the currency of the debtor's account. (required).</param> /// <param name="instructedAmount">instructedAmount (required).</param> /// <param name="exchangeRateInformation">exchangeRateInformation.</param> /// <param name="debtorAccount">debtorAccount.</param> /// <param name="creditor">creditor.</param> /// <param name="creditorAgent">creditorAgent.</param> /// <param name="creditorAccount">creditorAccount (required).</param> /// <param name="remittanceInformation">remittanceInformation.</param> /// <param name="supplementaryData">Additional information that can not be captured in the structured fields and/or any other specific block..</param> public OBWriteInternational2DataInitiation(string instructionIdentification = default(string), string endToEndIdentification = default(string), string localInstrument = default(string), InstructionPriorityEnum?instructionPriority = default(InstructionPriorityEnum?), string purpose = default(string), OBChargeBearerType1Code?chargeBearer = default(OBChargeBearerType1Code?), string currencyOfTransfer = default(string), OBWriteDomestic2DataInitiationInstructedAmount instructedAmount = default(OBWriteDomestic2DataInitiationInstructedAmount), OBWriteInternational2DataInitiationExchangeRateInformation exchangeRateInformation = default(OBWriteInternational2DataInitiationExchangeRateInformation), OBWriteDomestic2DataInitiationDebtorAccount debtorAccount = default(OBWriteDomestic2DataInitiationDebtorAccount), OBWriteInternational2DataInitiationCreditor creditor = default(OBWriteInternational2DataInitiationCreditor), OBWriteInternational2DataInitiationCreditorAgent creditorAgent = default(OBWriteInternational2DataInitiationCreditorAgent), OBWriteDomestic2DataInitiationCreditorAccount creditorAccount = default(OBWriteDomestic2DataInitiationCreditorAccount), OBWriteDomestic2DataInitiationRemittanceInformation remittanceInformation = default(OBWriteDomestic2DataInitiationRemittanceInformation), Dictionary <string, Object> supplementaryData = default(Dictionary <string, Object>)) { // to ensure "instructionIdentification" is required (not null) this.InstructionIdentification = instructionIdentification ?? throw new ArgumentNullException("instructionIdentification is a required property for OBWriteInternational2DataInitiation and cannot be null"); // to ensure "endToEndIdentification" is required (not null) this.EndToEndIdentification = endToEndIdentification ?? throw new ArgumentNullException("endToEndIdentification is a required property for OBWriteInternational2DataInitiation and cannot be null"); // to ensure "currencyOfTransfer" is required (not null) this.CurrencyOfTransfer = currencyOfTransfer ?? throw new ArgumentNullException("currencyOfTransfer is a required property for OBWriteInternational2DataInitiation and cannot be null"); // to ensure "instructedAmount" is required (not null) this.InstructedAmount = instructedAmount ?? throw new ArgumentNullException("instructedAmount is a required property for OBWriteInternational2DataInitiation and cannot be null"); // to ensure "creditorAccount" is required (not null) this.CreditorAccount = creditorAccount ?? throw new ArgumentNullException("creditorAccount is a required property for OBWriteInternational2DataInitiation and cannot be null"); this.LocalInstrument = localInstrument; this.InstructionPriority = instructionPriority; this.Purpose = purpose; this.ChargeBearer = chargeBearer; this.ExchangeRateInformation = exchangeRateInformation; this.DebtorAccount = debtorAccount; this.Creditor = creditor; this.CreditorAgent = creditorAgent; this.RemittanceInformation = remittanceInformation; this.SupplementaryData = supplementaryData; }