namespace POSGkSwaggerModel
{
    /// <summary>
    /// GiftCertificateLineItem &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoGiftCertificateLineItem	{
        /// <summary>
        /// &lt;p&gt;Getter for inner key class.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Getter for inner key class.&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiTxpoolDtoGiftCertificateLineItemkey key { get; init; }
        /// <summary>
        /// The type code of gift certificate that defines handling rules for it
        /// </summary>
        /// <value>The type code of gift certificate that defines handling rules for it</value>
        public string giftCertificateHandlingTypeCode { get; init; }
        /// <summary>
        /// Identifies a gift certificate type. Corresponds to GiftCertificateClass.GiftCertificateTypeCode 
        /// </summary>
        /// <value>Identifies a gift certificate type. Corresponds to GiftCertificateClass.GiftCertificateTypeCode </value>
        public string giftCertificateTypeCode { get; init; }
        /// <summary>
        /// Determines whether the transaction amount was successfully posted to the Stored Value Server. Stays null in case that this information is not relevant for the current gift certificate line item 
        /// </summary>
        /// <value>Determines whether the transaction amount was successfully posted to the Stored Value Server. Stays null in case that this information is not relevant for the current gift certificate line item </value>
        public string bookingSuccessfulTypeCode { get; init; }
        /// <summary>
        /// Determines whether a cancellation was successfully posted to the Stored Value Server.Stays null in case that this information is not relevant for the current gift certificate line item 
        /// </summary>
        /// <value>Determines whether a cancellation was successfully posted to the Stored Value Server.Stays null in case that this information is not relevant for the current gift certificate line item </value>
        public string bookingCancellationTypeCode { get; init; }
        /// <summary>
        /// The name of the adapter of the involved external system
        /// </summary>
        /// <value>The name of the adapter of the involved external system</value>
        public string externalSystemAdapterName { get; init; }
        /// <summary>
        /// The expiration date of the gift certificate ; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)
        /// </summary>
        /// <value>The expiration date of the gift certificate ; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)</value>
        public string expirationDate { get; init; }
        /// <summary>
        /// The remaining balance of the gift certificate 
        /// </summary>
        /// <value>The remaining balance of the gift certificate </value>
        public double? remainingBalance { get; init; }
        /// <summary>
        /// The serial number that uniquely identifies a GIFT CERTIFICATE.
        /// </summary>
        /// <value>The serial number that uniquely identifies a GIFT CERTIFICATE.</value>
        public string giftCertificateSerialNumber { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom05 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom03 { get; init; }
        /// <summary>
        /// The gift certificate server transaction ID 
        /// </summary>
        /// <value>The gift certificate server transaction ID </value>
        public string gcstransactionUUID { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom02 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom04 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom01 { get; init; }
	}
}
