/* Options:
Date: 2025-12-14 04:31:46
Version: 8.80
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.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: False
//ExportValueTypes: False
IncludeTypes: UpdateVossSubscriptions.*
//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.VossIntegration.ApiTools.Model;
using BokaMera.VossIntegration.ApiTools.Enums;
using BokaMera.API.ServiceModel.Dtos;
namespace BokaMera.API.ServiceModel.Dtos
{
[Route("/voss/subscriptions", "PUT")]
[ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)]
public partial class UpdateVossSubscriptions
{
///
///The company id. Subscription will be fetched of this company
///
[ApiMember(Description="The company id. Subscription will be fetched of this company")]
public virtual Guid CompanyId { get; set; }
///
///Discount agreement data
///
[ApiMember(Description="Discount agreement data")]
public virtual List DiscountAgreements { get; set; } = [];
///
/// Discount agreements change type controls how already occured transactions are treated <br />Retrospective - all future and past not invoiced transactions will be recalculated with new discount agreements <br />Prospective - discounts will apply only for future transactions
///
[ApiMember(Description=" Discount agreements change type controls how already occured transactions are treated <br />Retrospective - all future and past not invoiced transactions will be recalculated with new discount agreements <br />Prospective - discounts will apply only for future transactions\n")]
public virtual DiscountAgreementsChangeTypeEnum DiscountAgreementsChangeType { get; set; }
///
///The company id. Subscription will be fetched of this company
///
[ApiMember(Description="The company id. Subscription will be fetched of this company")]
public virtual int CompanyOwnerId { get; set; }
}
}
namespace BokaMera.VossIntegration.ApiTools.Enums
{
public enum PeriodKindEnum
{
FixedTime,
AlignedToBindingPeriod,
AlignedToSubscriptionBillingPeriod,
}
}
namespace BokaMera.VossIntegration.ApiTools.Model
{
[DataContract(Name="DiscountAgreementTimeLengthRequestDto")]
public partial class DiscountAgreementTimeLengthRequestDto
{
[DataMember(Name="unit", IsRequired=true)]
public virtual UnitEnum Unit { get; set; }
[DataMember(Name="value", IsRequired=true)]
public virtual int Value { get; set; }
public enum UnitEnum
{
Day,
Month,
Year,
}
}
[DataContract(Name="SubscriptionDiscountAgreementRequestDto")]
public partial class SubscriptionDiscountAgreementRequestDto
{
[DataMember(Name="discountAgreementId", IsRequired=true)]
public virtual Guid DiscountAgreementId { get; set; }
[DataMember(Name="period")]
public virtual SubscriptionDiscountPeriodRequestDto Period { get; set; }
}
[DataContract(Name="SubscriptionDiscountPeriodRequestDto")]
public partial class SubscriptionDiscountPeriodRequestDto
{
[DataMember(Name="periodKind", IsRequired=true)]
public virtual PeriodKindEnum PeriodKind { get; set; }
[DataMember(Name="length")]
public virtual DiscountAgreementTimeLengthRequestDto Length { get; set; }
[DataMember(Name="periodIterationCount")]
public virtual int? PeriodIterationCount { get; set; }
}
}