(* Options: Date: 2025-12-14 05:17:49 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: CreateVossUsage.* //ExcludeTypes: //InitializeCollections: False //AddNamespaces: *) namespace BokaMera.API.ServiceModel.Dtos open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.Globalization open ServiceStack.Data open System.Net open System.Net.Http.Headers type CreditKindEnum = | Normal = 0 | Internal = 1 type ProductTypeEnum = | Main = 0 | Addon = 1 | License = 2 | Usage = 3 type SubscriptionBehaviourEnum = | Prorate = 0 | Full = 1 | None = 2 [] [] type SubscriptionItemTerminationReasonDto() = [] member val ReasonId:Guid = new Guid() with get,set [] member val ReasonName:String = null with get,set [] member val ReasonExternalId:String = null with get,set [] member val SubReasonId:Nullable = new Nullable() with get,set [] member val SubReasonName:String = null with get,set [] member val SubReasonExternalId:String = null with get,set [] member val Comment:String = null with get,set [] [] type CustomerBalanceChangeItemDto() = [] member val ProductType:ProductTypeEnum = new ProductTypeEnum() with get,set [] member val Id:Guid = new Guid() with get,set [] member val Name:String = null with get,set [] member val ProductGroupId:Guid = new Guid() with get,set [] member val ProductGroupName:String = null with get,set [] member val Quantity:Double = new Double() with get,set [] member val Amount:Double = new Double() with get,set [] member val DiscountAmount:Double = new Double() with get,set [] member val TotalAmount:Double = new Double() with get,set [] member val InvoiceRecipientCustomerId:Guid = new Guid() with get,set [] [] type CustomerBalanceChangeDto() = [] member val Items:ResizeArray = null with get,set [] member val TotalAmount:Double = new Double() with get,set [] member val TotalDiscountAmount:Double = new Double() with get,set type ProductGroupTypeEnum = | Optional = 0 | Included = 1 type StatusEnum = | Active = 0 | Terminated = 1 [] [] type SubscriptionProductGroupProductResultDto() = [] member val Id:Guid = new Guid() with get,set [] member val Name:String = null with get,set [] member val ExternalId:String = null with get,set [] member val ArticleNumber:String = null with get,set type TypeEnum = | AtSubscriptionBillingPeriodEnd = 0 | AtBindingPeriodEnd = 1 | Immediately = 2 type SourceEnum = | Direct = 0 | Plan = 1 | CustomerExpiration = 2 | Update = 3 | Unpaid = 4 [] [] type CreditOptionsDto() = [] member val SubscriptionBehaviour:SubscriptionBehaviourEnum = new SubscriptionBehaviourEnum() with get,set [] member val CreditKind:CreditKindEnum = new CreditKindEnum() with get,set [] member val ProrateTimeAnchor:Nullable = new Nullable() with get,set [] [] type SubscriptionItemTerminationDto() = [] member val Type:TypeEnum = new TypeEnum() with get,set [] member val Source:SourceEnum = new SourceEnum() with get,set [] member val ScheduledDate:DateTime = new DateTime() with get,set [] member val Reason:SubscriptionItemTerminationReasonDto = null with get,set [] member val CreditOptions:CreditOptionsDto = null with get,set [] [] type CreateSubscriptionProductGroupResult() = [] member val ProductGroupType:ProductGroupTypeEnum = new ProductGroupTypeEnum() with get,set [] member val Status:StatusEnum = new StatusEnum() with get,set [] member val Id:Guid = new Guid() with get,set [] member val Name:String = null with get,set [] member val Products:ResizeArray = null with get,set [] member val Termination:SubscriptionItemTerminationDto = null with get,set [] member val Created:DateTime = new DateTime() with get,set [] member val CustomerBalanceChange:CustomerBalanceChangeDto = null with get,set [] [] [] [] type CreateVossUsage() = interface IReturn /// ///The company id /// [] member val CompanyId:Guid = new Guid() with get,set /// ///Article number. Can be fetched from products /// [] member val ArticleNumber:String = null with get,set /// ///Example: developer worked 6 hours /// [] member val Quantity:Int32 = new Int32() with get,set