/* Options: Date: 2025-07-01 05:16:10 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: CompanyIncentiveQuery.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; 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.Db.Incentive; using BokaMera.API.ServiceModel.Dtos; namespace BokaMera.API.ServiceModel.Db.Incentive { public enum CriteriaType { LicenseAvailability, SmsActivation, eAccountingActivation, CodeLockActivation, SocialActivation, OnlinePaymentActivation, FollowUpMessageActivation, RatingActivation, } public enum IncentiveRecurrenceFrequency { OneTime = 1, Weekly = 2, Monthly = 3, } } namespace BokaMera.API.ServiceModel.Dtos { [Route("/companies/{CompanyId}/incentives", "GET")] [ValidateRequest("IsAuthenticated")] [ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)] public partial class CompanyIncentiveQuery : IReturn, ICompany { /// ///The company id, if empty will use the company id for the user you are logged in with. /// [ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.", IsRequired=true, ParameterType="path")] public virtual Guid? CompanyId { get; set; } } public partial class CompanyIncentiveResponse { public CompanyIncentiveResponse() { CompanyIds = new List{}; Criteria = new List{}; } public virtual int Id { get; set; } public virtual string Heading { get; set; } public virtual string StorageUrl { get; set; } public virtual string SuccessButtonText { get; set; } public virtual int ActionId { get; set; } public virtual int InitialDelayInSeconds { get; set; } public virtual int? MaxDisplayCount { get; set; } public virtual DateTimeOffset ValidFrom { get; set; } public virtual DateTimeOffset ValidTo { get; set; } public virtual IncentiveActionResponse Action { get; set; } public virtual string Payload { get; set; } [ApiMember] public virtual string Body { get; set; } [ApiMember(IsRequired=true)] public virtual IncentiveRecurrenceFrequency Frequency { get; set; } [ApiMember(IsRequired=true)] public virtual int InitialDeferredDays { get; set; } [ApiMember] public virtual uint RecurrenceInterval { get; set; } [ApiMember] public virtual bool Active { get; set; } public virtual List CompanyIds { get; set; } public virtual List Criteria { get; set; } } public partial class CompanyIncentivesQueryResponse { public virtual IList Incentives { get; set; } public virtual Guid CompanyId { get; set; } } public partial class IncentiveActionResponse { public virtual int Id { get; set; } public virtual string Description { get; set; } public virtual IncentiveActionType ActionType { get; set; } public virtual string Page { get; set; } public virtual string Segment { get; set; } public virtual string Element { get; set; } public virtual int? LicenseTypeId { get; set; } public virtual LicenseTypeQueryResponse SuggestedLicenseToUpgrade { get; set; } } public partial class IncentiveCriteriaDto { public virtual CriteriaType CriteriaType { get; set; } public virtual string Value { get; set; } public virtual bool InvertCondition { get; set; } } } namespace BokaMera.API.ServiceModel.Interfaces { public partial interface ICompany { Guid? CompanyId { get; set; } } }