namespace POSGkSwaggerModel
{
    /// <summary>
    /// WorkstationStatus &lt;p&gt;This DB table contains information about&lt;/p&gt;&lt;ul&gt;&lt;li&gt;online/offline workstations&lt;/li&gt;&lt;li&gt;sign-on (also paused) / sign-off operators on workstations&lt;/li&gt;&lt;/ul&gt;
    /// </summary>
    public record comGkSoftwareGkrApiLoginManagerDtoWorkstationStatus	{
        /// <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 ComGkSoftwareGkrApiLoginManagerDtoWorkstationStatuskey key { get; init; }
        /// <summary>
        /// last workstation client address (IP + DNS name)
        /// </summary>
        /// <value>last workstation client address (IP + DNS name)</value>
        public string workstationLastConnectedAddress { get; init; }
        /// <summary>
        /// the time of last workstation ping.if current time - WorkstationLastConnectedTimestamp &gt; TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)
        /// </summary>
        /// <value>the time of last workstation ping.if current time - WorkstationLastConnectedTimestamp &gt; TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)</value>
        public string workstationLastConnectedTimestamp { get; init; }
        /// <summary>
        /// POS, ACCOUNTING, TECHNICAL - this info is used for concurrency check when the operator tries to login on more workstations
        /// </summary>
        /// <value>POS, ACCOUNTING, TECHNICAL - this info is used for concurrency check when the operator tries to login on more workstations</value>
        public string loginType { get; init; }
        /// <summary>
        /// signed operator id. EMPTY if operator does sign off.the information is not guaranteed if workstation is considered as offline
        /// </summary>
        /// <value>signed operator id. EMPTY if operator does sign off.the information is not guaranteed if workstation is considered as offline</value>
        public string operatorID { get; init; }
        /// <summary>
        /// the UTC0 time of last workstation ping.if current time - WorkstationLastConnectedTimestamp &gt; TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; UTC0 date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSZ&#39; (with timezone)
        /// </summary>
        /// <value>the UTC0 time of last workstation ping.if current time - WorkstationLastConnectedTimestamp &gt; TIMEOUT (property pos_server.login_manager.timeout)then workstation is considered as offline; UTC0 date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSZ&#39; (with timezone)</value>
        public DateTime? workstationLastConnectedTimestampUTC0 { get; init; }
        /// <summary>
        /// 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>
        public string token { 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>
        /// 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; }
	}
}
