BokaMera.API.Host

<back to all web services

UpdateVossInvoiceConfigurations

Requires Authentication
Requires the role:superadmin
The following routes are available for this service:
GET/voss/invoiceConfigurationsinit voss invoice
import 'package:servicestack/servicestack.dart';

enum IntermediaryPlacementEnum
{
    None,
    IncludeIn21StColumn,
    IncludeIn7ThColumn,
}

enum AccrualCodeFormatEnum
{
    Default,
    Dutch,
}

enum UnitEnum
{
    Day,
    Month,
    Year,
}

// @DataContract(Name="TimeLengthRequestDto")
class TimeLengthRequestDto implements IConvertible
{
    // @DataMember(Name="unit", IsRequired=true)
    UnitEnum? unit;

    // @DataMember(Name="value", IsRequired=true)
    int? value;

    TimeLengthRequestDto({this.unit,this.value});
    TimeLengthRequestDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        unit = JsonConverters.fromJson(json['Unit'],'UnitEnum',context!);
        value = json['Value'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'unit': JsonConverters.toJson(unit,'UnitEnum',context!),
        'value': value
    };

    getTypeName() => "TimeLengthRequestDto";
    TypeContext? context = _ctx;
}

// @DataContract(Name="UpdateInvoiceConfigurationsRequest")
class UpdateInvoiceConfigurationsRequest implements IConvertible
{
    // @DataMember(Name="intermediaryPlacement", IsRequired=true)
    IntermediaryPlacementEnum? intermediaryPlacement;

    // @DataMember(Name="accrualCodeFormat", IsRequired=true)
    AccrualCodeFormatEnum? accrualCodeFormat;

    // @DataMember(Name="dateFormat", IsRequired=true)
    String? dateFormat;

    // @DataMember(Name="delimiter", IsRequired=true)
    String? delimiter;

    // @DataMember(Name="decimalSeparator", IsRequired=true)
    String? decimalSeparator;

    // @DataMember(Name="orderCreatorCode", IsRequired=true)
    String? orderCreatorCode;

    // @DataMember(Name="salesPersonId", IsRequired=true)
    String? salesPersonId;

    // @DataMember(Name="salesDepartmentId", IsRequired=true)
    String? salesDepartmentId;

    // @DataMember(Name="includeBillingPeriodDates")
    bool? includeBillingPeriodDates;

    // @DataMember(Name="trackInvoicePayments")
    bool? trackInvoicePayments;

    // @DataMember(Name="includeInvoicedCustomerDetails")
    bool? includeInvoicedCustomerDetails;

    // @DataMember(Name="billingPeriodTextFormat", IsRequired=true)
    String? billingPeriodTextFormat;

    // @DataMember(Name="customerFooterText")
    String? customerFooterText;

    // @DataMember(Name="addEmptyLineBeforeCustomerFooter")
    bool? addEmptyLineBeforeCustomerFooter;

    // @DataMember(Name="includeOnlyDefaultSalesPersonAndDepartment")
    bool? includeOnlyDefaultSalesPersonAndDepartment;

    // @DataMember(Name="includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer")
    bool? includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer;

    // @DataMember(Name="transactionGroup", IsRequired=true)
    String? transactionGroup;

    // @DataMember(Name="invoiceArbitraryNumber", IsRequired=true)
    String? invoiceArbitraryNumber;

    // @DataMember(Name="deliveryMethod", IsRequired=true)
    String? deliveryMethod;

    // @DataMember(Name="deliveryConditions", IsRequired=true)
    String? deliveryConditions;

    // @DataMember(Name="orderType", IsRequired=true)
    String? orderType;

    // @DataMember(Name="invoiceStatus", IsRequired=true)
    String? invoiceStatus;

    // @DataMember(Name="useProductGroupRevenueRecognition")
    bool? useProductGroupRevenueRecognition;

    // @DataMember(Name="productGroupLineExcludePrint", IsRequired=true)
    String? productGroupLineExcludePrint;

    // @DataMember(Name="productGroupLineEditPreferences", IsRequired=true)
    String? productGroupLineEditPreferences;

    // @DataMember(Name="productLineExcludePrint", IsRequired=true)
    String? productLineExcludePrint;

    // @DataMember(Name="useDiscountedPrices")
    bool? useDiscountedPrices;

    // @DataMember(Name="terminateUnpaidSubscriptions")
    bool? terminateUnpaidSubscriptions;

    // @DataMember(Name="allowedUnpaidAmountLimit", EmitDefaultValue=false)
    double? allowedUnpaidAmountLimit;

    // @DataMember(Name="allowedPaymentOverdue")
    TimeLengthRequestDto? allowedPaymentOverdue;

    // @DataMember(Name="unpaidSubscriptionTerminationReasonId")
    String? unpaidSubscriptionTerminationReasonId;

    // @DataMember(Name="unpaidSubscriptionTerminationComment")
    String? unpaidSubscriptionTerminationComment;

    // @DataMember(Name="creditInvoiceNumberReferenceTextFormat")
    String? creditInvoiceNumberReferenceTextFormat;

    UpdateInvoiceConfigurationsRequest({this.intermediaryPlacement,this.accrualCodeFormat,this.dateFormat,this.delimiter,this.decimalSeparator,this.orderCreatorCode,this.salesPersonId,this.salesDepartmentId,this.includeBillingPeriodDates,this.trackInvoicePayments,this.includeInvoicedCustomerDetails,this.billingPeriodTextFormat,this.customerFooterText,this.addEmptyLineBeforeCustomerFooter,this.includeOnlyDefaultSalesPersonAndDepartment,this.includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer,this.transactionGroup,this.invoiceArbitraryNumber,this.deliveryMethod,this.deliveryConditions,this.orderType,this.invoiceStatus,this.useProductGroupRevenueRecognition,this.productGroupLineExcludePrint,this.productGroupLineEditPreferences,this.productLineExcludePrint,this.useDiscountedPrices,this.terminateUnpaidSubscriptions,this.allowedUnpaidAmountLimit,this.allowedPaymentOverdue,this.unpaidSubscriptionTerminationReasonId,this.unpaidSubscriptionTerminationComment,this.creditInvoiceNumberReferenceTextFormat});
    UpdateInvoiceConfigurationsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        intermediaryPlacement = JsonConverters.fromJson(json['IntermediaryPlacement'],'IntermediaryPlacementEnum',context!);
        accrualCodeFormat = JsonConverters.fromJson(json['AccrualCodeFormat'],'AccrualCodeFormatEnum',context!);
        dateFormat = json['DateFormat'];
        delimiter = json['Delimiter'];
        decimalSeparator = json['DecimalSeparator'];
        orderCreatorCode = json['OrderCreatorCode'];
        salesPersonId = json['SalesPersonId'];
        salesDepartmentId = json['SalesDepartmentId'];
        includeBillingPeriodDates = json['IncludeBillingPeriodDates'];
        trackInvoicePayments = json['TrackInvoicePayments'];
        includeInvoicedCustomerDetails = json['IncludeInvoicedCustomerDetails'];
        billingPeriodTextFormat = json['BillingPeriodTextFormat'];
        customerFooterText = json['CustomerFooterText'];
        addEmptyLineBeforeCustomerFooter = json['AddEmptyLineBeforeCustomerFooter'];
        includeOnlyDefaultSalesPersonAndDepartment = json['IncludeOnlyDefaultSalesPersonAndDepartment'];
        includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer = json['IncludeSubscriptionCustomerDetailsIfPayedByAnotherCustomer'];
        transactionGroup = json['TransactionGroup'];
        invoiceArbitraryNumber = json['InvoiceArbitraryNumber'];
        deliveryMethod = json['DeliveryMethod'];
        deliveryConditions = json['DeliveryConditions'];
        orderType = json['OrderType'];
        invoiceStatus = json['InvoiceStatus'];
        useProductGroupRevenueRecognition = json['UseProductGroupRevenueRecognition'];
        productGroupLineExcludePrint = json['ProductGroupLineExcludePrint'];
        productGroupLineEditPreferences = json['ProductGroupLineEditPreferences'];
        productLineExcludePrint = json['ProductLineExcludePrint'];
        useDiscountedPrices = json['UseDiscountedPrices'];
        terminateUnpaidSubscriptions = json['TerminateUnpaidSubscriptions'];
        allowedUnpaidAmountLimit = JsonConverters.toDouble(json['AllowedUnpaidAmountLimit']);
        allowedPaymentOverdue = JsonConverters.fromJson(json['AllowedPaymentOverdue'],'TimeLengthRequestDto',context!);
        unpaidSubscriptionTerminationReasonId = json['UnpaidSubscriptionTerminationReasonId'];
        unpaidSubscriptionTerminationComment = json['UnpaidSubscriptionTerminationComment'];
        creditInvoiceNumberReferenceTextFormat = json['CreditInvoiceNumberReferenceTextFormat'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'intermediaryPlacement': JsonConverters.toJson(intermediaryPlacement,'IntermediaryPlacementEnum',context!),
        'accrualCodeFormat': JsonConverters.toJson(accrualCodeFormat,'AccrualCodeFormatEnum',context!),
        'dateFormat': dateFormat,
        'delimiter': delimiter,
        'decimalSeparator': decimalSeparator,
        'orderCreatorCode': orderCreatorCode,
        'salesPersonId': salesPersonId,
        'salesDepartmentId': salesDepartmentId,
        'includeBillingPeriodDates': includeBillingPeriodDates,
        'trackInvoicePayments': trackInvoicePayments,
        'includeInvoicedCustomerDetails': includeInvoicedCustomerDetails,
        'billingPeriodTextFormat': billingPeriodTextFormat,
        'customerFooterText': customerFooterText,
        'addEmptyLineBeforeCustomerFooter': addEmptyLineBeforeCustomerFooter,
        'includeOnlyDefaultSalesPersonAndDepartment': includeOnlyDefaultSalesPersonAndDepartment,
        'includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer': includeSubscriptionCustomerDetailsIfPayedByAnotherCustomer,
        'transactionGroup': transactionGroup,
        'invoiceArbitraryNumber': invoiceArbitraryNumber,
        'deliveryMethod': deliveryMethod,
        'deliveryConditions': deliveryConditions,
        'orderType': orderType,
        'invoiceStatus': invoiceStatus,
        'useProductGroupRevenueRecognition': useProductGroupRevenueRecognition,
        'productGroupLineExcludePrint': productGroupLineExcludePrint,
        'productGroupLineEditPreferences': productGroupLineEditPreferences,
        'productLineExcludePrint': productLineExcludePrint,
        'useDiscountedPrices': useDiscountedPrices,
        'terminateUnpaidSubscriptions': terminateUnpaidSubscriptions,
        'allowedUnpaidAmountLimit': allowedUnpaidAmountLimit,
        'allowedPaymentOverdue': JsonConverters.toJson(allowedPaymentOverdue,'TimeLengthRequestDto',context!),
        'unpaidSubscriptionTerminationReasonId': unpaidSubscriptionTerminationReasonId,
        'unpaidSubscriptionTerminationComment': unpaidSubscriptionTerminationComment,
        'creditInvoiceNumberReferenceTextFormat': creditInvoiceNumberReferenceTextFormat
    };

    getTypeName() => "UpdateInvoiceConfigurationsRequest";
    TypeContext? context = _ctx;
}

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
class UpdateVossInvoiceConfigurations extends UpdateInvoiceConfigurationsRequest implements IConvertible
{
    UpdateVossInvoiceConfigurations();
    UpdateVossInvoiceConfigurations.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "UpdateVossInvoiceConfigurations";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
    'IntermediaryPlacementEnum': TypeInfo(TypeOf.Enum, enumValues:IntermediaryPlacementEnum.values),
    'AccrualCodeFormatEnum': TypeInfo(TypeOf.Enum, enumValues:AccrualCodeFormatEnum.values),
    'UnitEnum': TypeInfo(TypeOf.Enum, enumValues:UnitEnum.values),
    'TimeLengthRequestDto': TypeInfo(TypeOf.Class, create:() => TimeLengthRequestDto()),
    'UpdateInvoiceConfigurationsRequest': TypeInfo(TypeOf.Class, create:() => UpdateInvoiceConfigurationsRequest()),
    'UpdateVossInvoiceConfigurations': TypeInfo(TypeOf.Class, create:() => UpdateVossInvoiceConfigurations()),
});

Dart UpdateVossInvoiceConfigurations DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /voss/invoiceConfigurations HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{}