/* Options: Date: 2025-09-07 11:55:41 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://account.servicestack.net //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: False //ExportValueTypes: False IncludeTypes: QueryCustomers.* //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 MyApp.ServiceModel; using MyApp.ServiceInterface; namespace MyApp.ServiceInterface { [Route("/query/customers")] [ValidateRequest("IsAdmin")] [AutoQueryViewer(DefaultFields="Id,Name,Email,DisplayName,FirstName,LastName,Company,CreatedDate,Plan,IsReferrer", DefaultSearchField="Email", DefaultSearchType="Contains", IconUrl="material-icons:person", Title="Customers")] public partial class QueryCustomers : QueryDb, IReturn> { } } namespace MyApp.ServiceModel { [Route("/Customer")] [Route("/Customer/{Id}")] public partial class Customer : IAddress { public virtual int Id { get; set; } public virtual string Email { get; set; } public virtual string DisplayName { get; set; } public virtual string FirstName { get; set; } public virtual string LastName { get; set; } public virtual string Company { get; set; } public virtual string PhoneNumber { get; set; } public virtual string AddressLine1 { get; set; } public virtual string AddressLine2 { get; set; } public virtual string AddressCity { get; set; } public virtual string AddressZip { get; set; } public virtual string AddressState { get; set; } public virtual string AddressCountry { get; set; } public virtual string StripeCustomerId { get; set; } public virtual string StripeCouponId { get; set; } public virtual string Plan { get; set; } public virtual DateTime CreatedDate { get; set; } public virtual bool IsReferrer { get; set; } public virtual List Orders { get; set; } public virtual List Subscriptions { get; set; } } public partial interface IAddress { string AddressLine1 { get; set; } string AddressLine2 { get; set; } string AddressCity { get; set; } string AddressZip { get; set; } string AddressState { get; set; } string AddressCountry { get; set; } } public partial class Order : IAddress { public virtual int Id { get; set; } public virtual int CustomerId { get; set; } public virtual string ProductName { get; set; } public virtual string FirstName { get; set; } public virtual string LastName { get; set; } public virtual string Email { get; set; } public virtual string Company { get; set; } public virtual string PhoneNumber { get; set; } public virtual string AddressLine1 { get; set; } public virtual string AddressLine2 { get; set; } public virtual string AddressCity { get; set; } public virtual string AddressZip { get; set; } public virtual string AddressState { get; set; } public virtual string AddressCountry { get; set; } public virtual bool AgreeTerms { get; set; } public virtual string Notes { get; set; } public virtual string Last4 { get; set; } public virtual int SubTotal { get; set; } public virtual string CouponId { get; set; } public virtual int Discount { get; set; } public virtual int Tax { get; set; } public virtual int Total { get; set; } public virtual int ItemQuantity { get; set; } public virtual int? AuthorizedQuantity { get; set; } public virtual int? SubscriptionId { get; set; } public virtual string LicenseRef { get; set; } public virtual int? PaymentId { get; set; } public virtual int? EmailId { get; set; } public virtual bool Paid { get; set; } public virtual DateTime CreatedDate { get; set; } public virtual DateTime ModifiedDate { get; set; } public virtual string ModifiedBy { get; set; } public virtual DateTime? CancelledDate { get; set; } public virtual string CancelledReason { get; set; } public virtual string IpAddress { get; set; } public virtual List OrderDetails { get; set; } } public partial class Subscription { public virtual int Id { get; set; } public virtual int CustomerId { get; set; } public virtual string Email { get; set; } public virtual int SkuId { get; set; } public virtual string SkuName { get; set; } public virtual SkuType SkuType { get; set; } public virtual string Code { get; set; } public virtual int Quantity { get; set; } public virtual int SupportQuantity { get; set; } public virtual int Total { get; set; } public virtual bool IsPlan { get; set; } public virtual bool IsRenewal { get; set; } public virtual int SubscriptionDurationDays { get; set; } public virtual DateTime? RenewalDate { get; set; } public virtual string LicenseRef { get; set; } public virtual string LicenseName { get; set; } public virtual string LicenseAddress { get; set; } public virtual LicenseType LicenseType { get; set; } public virtual DateTime ExpiryDate { get; set; } public virtual LicenseKey LicenseKey { get; set; } public virtual string LicenseKeyText { get; set; } public virtual DateTime CreatedDate { get; set; } public virtual DateTime ModifiedDate { get; set; } public virtual DateTime? CancelledDate { get; set; } public virtual string StripeSubscriptionId { get; set; } public virtual int? EmailId { get; set; } public virtual int? EmailRenewalId { get; set; } public virtual int? EmailExpiredId { get; set; } public virtual int? RenewalSubscriptionId { get; set; } public virtual string ExternalRef { get; set; } public virtual string Notes { get; set; } public virtual string Error { get; set; } } }