/* Options: Date: 2025-06-28 06:43:00 Version: 8.23 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: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: CreateIncentive.* //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.Db.Incentive; using BokaMera.API.ServiceModel.Dtos; using BokaMera.API.ServiceModel.Db; namespace BokaMera.API.ServiceModel.Db { public partial class BaseModel { } } namespace BokaMera.API.ServiceModel.Db.Incentive { public enum CriteriaType { LicenseAvailability, SmsActivation, eAccountingActivation, CodeLockActivation, SocialActivation, OnlinePaymentActivation, FollowUpMessageActivation, RatingActivation, } public partial class IncentiveCriteria : BaseModel { public virtual int Id { get; set; } public virtual int IncentiveId { get; set; } public virtual CriteriaType CriteriaType { get; set; } public virtual string Value { get; set; } public virtual bool InvertCondition { get; set; } public virtual DateTimeOffset CreatedDate { get; set; } } public enum IncentiveRecurrenceFrequency { OneTime = 1, Weekly = 2, Monthly = 3, } } namespace BokaMera.API.ServiceModel.Dtos { public partial class AdminIncentiveQueryResponse : CompanyIncentiveResponse { public AdminIncentiveQueryResponse() { CompanyIds = new List{}; Criteria = new List{}; } public virtual IncentiveRecurrenceFrequency Frequency { get; set; } public virtual uint RecurrenceInterval { get; set; } public virtual DateTimeOffset CreatedDate { get; set; } public virtual DateTimeOffset ModifiedDate { get; set; } public virtual List CompanyIds { get; set; } public virtual List Criteria { get; set; } public virtual bool ApplyToAllCompanies { get; set; } public virtual IncentiveActionResponse Action { 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; } } [Route("/superadmin/incentives", "POST")] [ValidateRequest("IsAuthenticated")] [ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)] public partial class CreateIncentive : IReturn { public CreateIncentive() { CompanyIds = new List{}; Criteria = new List{}; } [ApiMember(IsRequired=true)] public virtual string Heading { get; set; } [ApiMember] public virtual string StorageUrl { get; set; } [ApiMember] public virtual string Body { get; set; } [ApiMember(IsRequired=true)] public virtual string SuccessButtonText { get; set; } [ApiMember(IsRequired=true)] public virtual int ActionId { get; set; } [ApiMember(IsRequired=true)] public virtual IncentiveRecurrenceFrequency Frequency { get; set; } [ApiMember] public virtual uint RecurrenceInterval { get; set; } [ApiMember(IsRequired=true)] public virtual int InitialDelayInSeconds { get; set; } [ApiMember(IsRequired=true)] public virtual int? MaxDisplayCount { get; set; } [ApiMember(IsRequired=true)] public virtual DateTimeOffset ValidFrom { get; set; } [ApiMember(IsRequired=true)] public virtual DateTimeOffset ValidTo { get; set; } [ApiMember] public virtual bool Active { get; set; } [ApiMember] public virtual string Payload { get; set; } public virtual List CompanyIds { get; set; } public virtual List Criteria { get; set; } /// ///Number of days to wait after first display attempt before displaying the incentive. Set to 0 to show immediately. /// [ApiMember(Description="Number of days to wait after first display attempt before displaying the incentive. Set to 0 to show immediately.", IsRequired=true)] public virtual int InitialDeferredDays { 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; } } }