namespace POSGkSwaggerModel
{
    /// <summary>
    /// GiftCertificateRequest &lt;p&gt;Request object for the StoredValueServerService.&lt;/p&gt;
    /// </summary>
    public record comGkSoftwarePosApiServiceStoredValueServerGiftCertificateRequest	{
        /// <summary>
        /// &lt;p&gt;Service identifier.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Service identifier.&lt;/p&gt;</value>
        public string serviceId { get; init; }
        /// <summary>
        /// &lt;p&gt;Specifies the gift certificate type.&lt;br /&gt; Possible values are:&lt;br /&gt; gift certificate as &#39;01&#39;&lt;br /&gt; gift card as &#39;02&#39;&lt;br /&gt; foreign gift certificate as &#39;03&#39;&lt;br /&gt; promotion gift certificate as &#39;04&#39;&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Specifies the gift certificate type.&lt;br /&gt; Possible values are:&lt;br /&gt; gift certificate as &#39;01&#39;&lt;br /&gt; gift card as &#39;02&#39;&lt;br /&gt; foreign gift certificate as &#39;03&#39;&lt;br /&gt; promotion gift certificate as &#39;04&#39;&lt;/p&gt;</value>
        public string giftCertificateType { get; init; }
        /// <summary>
        /// &lt;p&gt;Gift certificate number.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Gift certificate number.&lt;/p&gt;</value>
        public string giftCertificateNumber { get; init; }
        /// <summary>
        /// &lt;p&gt;Gift certificate track2 data.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Gift certificate track2 data.&lt;/p&gt;</value>
        public string giftTrack2 { get; init; }
        /// <summary>
        /// &lt;p&gt;Amount of the gift certificate, its meaning depends on the operation.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Amount of the gift certificate, its meaning depends on the operation.&lt;/p&gt;</value>
        public ComGkSoftwarePosApiModelDomAppamountamount amount { get; init; }
        /// <summary>
        /// &lt;p&gt;Expiration date.&lt;/p&gt; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)
        /// </summary>
        /// <value>&lt;p&gt;Expiration date.&lt;/p&gt; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)</value>
        public string expiryDate { get; init; }
        /// <summary>
        /// &lt;p&gt;Universally unique transaction ID.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Universally unique transaction ID.&lt;/p&gt;</value>
        public string gcsTransactionUUID { get; init; }
        /// <summary>
        /// &lt;p&gt;The remaining payment amount for the base currency.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;The remaining payment amount for the base currency.&lt;/p&gt;</value>
        public double? openPaymentAmount { get; init; }
        /// <summary>
        /// &lt;p&gt;Calling process identifier.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Calling process identifier.&lt;/p&gt;</value>
        public string callingProcess { get; init; }
        /// <summary>
        /// &lt;p&gt;List of additional info attributes and values.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;List of additional info attributes and values.&lt;/p&gt;</value>
        public List<comGkSoftwarePosApiModelDomAppGiftCertificateServiceAttributeValue> AdditionalInfo { get; init; }
        /// <summary>
        /// &lt;p&gt;Indicates whether service has been started on training mode.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Indicates whether service has been started on training mode.&lt;/p&gt;</value>
        public bool? trainingMode { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom08 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom10 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom09 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom07 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom05 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom06 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom11 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom12 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom13 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom14 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom15 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom03 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom02 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom04 { get; init; }
        /// <summary>
        /// &lt;p&gt;Customizable information&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Customizable information&lt;/p&gt;</value>
        public string xXCustom01 { get; init; }
	}
}
