/* Options: Date: 2026-06-12 23:08:48 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: True //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: False //ExportValueTypes: False IncludeTypes: RecordAiChatUsage.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using System.Globalization; using ServiceStack.Data; using System.Net; using System.Net.Http.Headers; using BokaMera.API.ServiceModel.Interfaces; using BokaMera.API.ServiceModel.Dtos; namespace BokaMera.API.ServiceModel.Dtos { public partial class AiChatUsageResponse { /// ///The company the usage applies to. /// [ApiMember(Description="The company the usage applies to.")] public virtual Guid CompanyId { get; set; } /// ///Tokens consumed within the current rolling window. /// [ApiMember(Description="Tokens consumed within the current rolling window.")] public virtual long TokensUsed { get; set; } /// ///The company's token limit for the window. /// [ApiMember(Description="The company's token limit for the window.")] public virtual int TokenLimit { get; set; } /// ///Tokens remaining before the limit is reached (never negative). /// [ApiMember(Description="Tokens remaining before the limit is reached (never negative).")] public virtual long TokensRemaining { get; set; } /// ///True while the company is still below its token limit. /// [ApiMember(Description="True while the company is still below its token limit.")] public virtual bool IsWithinBudget { get; set; } /// ///Length of the rolling usage window, in days. /// [ApiMember(Description="Length of the rolling usage window, in days.")] public virtual int WindowDays { get; set; } public virtual ResponseStatus ResponseStatus { get; set; } } [Route("/assistant/ai-chat/usage", "POST")] [ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)] [ValidateRequest("IsAuthenticated")] public partial class RecordAiChatUsage : IReturn, ICompany { /// ///The company id. Defaults to the logged-in user's company when omitted. /// [ApiMember(DataType="string", Description="The company id. Defaults to the logged-in user's company when omitted.", ParameterType="query")] public virtual Guid? CompanyId { get; set; } /// ///Number of tokens consumed by the chat turn (input + output). /// [ApiMember(DataType="integer", Description="Number of tokens consumed by the chat turn (input + output).", IsRequired=true)] public virtual long TokensUsed { get; set; } } } namespace BokaMera.API.ServiceModel.Interfaces { public partial interface ICompany { Guid? CompanyId { get; set; } } }