Server

<back to all web services

PostNebenkosten

Nebenkosten
Requires Authentication
The following routes are available for this service:
POST/api/v1/nebenkosten
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class PostNebenkostenResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? checksumMD5;

    PostNebenkostenResponse({this.responseStatus,this.checksumMD5});
    PostNebenkostenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        checksumMD5 = json['checksumMD5'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'checksumMD5': checksumMD5
    };

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

enum NebenkostenTargetAllocation
{
    Null,
    AlleNutzer,
    ZugeordneteNutzer,
    ZugeordneteNutzeinheiten,
    ZugeordneteNutzerDiff,
    ZugeordneteNutzeinheitenDiff,
}

enum NebenkostenTargetAllocationIn
{
    Nebenkosten,
    Heizkosten,
    Warmwasserkosten,
}

// @DataContract
class NebenkostenNutzeinheit implements IConvertible
{
    // @DataMember
    double? relativeAmount;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    String? nutzeinheitGuid;

    NebenkostenNutzeinheit({this.relativeAmount,this.isDeleted,this.isCreatedByApp,this.nutzeinheitGuid});
    NebenkostenNutzeinheit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        relativeAmount = JsonConverters.toDouble(json['relativeAmount']);
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nutzeinheitGuid = json['nutzeinheitGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'relativeAmount': relativeAmount,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nutzeinheitGuid': nutzeinheitGuid
    };

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

// @DataContract
class NebenkostenNutzer implements IConvertible
{
    // @DataMember
    double? relativeAmount;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    String? nutzerGuid;

    NebenkostenNutzer({this.relativeAmount,this.isDeleted,this.isCreatedByApp,this.nutzerGuid});
    NebenkostenNutzer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        relativeAmount = JsonConverters.toDouble(json['relativeAmount']);
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nutzerGuid = json['nutzerGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'relativeAmount': relativeAmount,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nutzerGuid': nutzerGuid
    };

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

// @DataContract
class BillingInformation implements IConvertible
{
    // @DataMember
    String? guid;

    // @DataMember
    DateTime? from;

    // @DataMember
    DateTime? to;

    // @DataMember
    bool? isCompleted;

    // @DataMember
    bool? hasNebenkosten;

    BillingInformation({this.guid,this.from,this.to,this.isCompleted,this.hasNebenkosten});
    BillingInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        from = JsonConverters.fromJson(json['from'],'DateTime',context!);
        to = JsonConverters.fromJson(json['to'],'DateTime',context!);
        isCompleted = json['isCompleted'];
        hasNebenkosten = json['hasNebenkosten'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'from': JsonConverters.toJson(from,'DateTime',context!),
        'to': JsonConverters.toJson(to,'DateTime',context!),
        'isCompleted': isCompleted,
        'hasNebenkosten': hasNebenkosten
    };

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

// @DataContract
class Nebenkosten implements IConvertible
{
    // @DataMember
    String? guid;

    // @DataMember
    int? number;

    // @DataMember
    DateTime? from;

    // @DataMember
    DateTime? to;

    // @DataMember
    NebenkostenTargetAllocation? targetAllocation;

    // @DataMember
    NebenkostenTargetAllocationIn? targetAllocationIn;

    // @DataMember
    String? nebenkostenKind;

    /**
    * Freitext
    */
    // @DataMember
    // @ApiMember(Description="Freitext")
    String? kostenart;

    // @DataMember
    double? brutto;

    // @DataMember
    double? bruttoLastYear;

    // @DataMember
    double? salesTax;

    // @DataMember
    String? haushaltsnahediensteLabel;

    // @DataMember
    double? haushaltsnahediensteBrutto;

    /**
    * Freitext
    */
    // @DataMember
    // @ApiMember(Description="Freitext")
    String? kostenartUnit;

    // @DataMember
    String? reduzierungsartType;

    // @DataMember
    String? comment;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    List<NebenkostenNutzeinheit>? nebenkostenNutzeinheiten;

    // @DataMember
    List<NebenkostenNutzer>? nebenkostenNutzer;

    // @DataMember
    BillingInformation? billingInformation;

    Nebenkosten({this.guid,this.number,this.from,this.to,this.targetAllocation,this.targetAllocationIn,this.nebenkostenKind,this.kostenart,this.brutto,this.bruttoLastYear,this.salesTax,this.haushaltsnahediensteLabel,this.haushaltsnahediensteBrutto,this.kostenartUnit,this.reduzierungsartType,this.comment,this.isDeleted,this.isCreatedByApp,this.nebenkostenNutzeinheiten,this.nebenkostenNutzer,this.billingInformation});
    Nebenkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        number = json['number'];
        from = JsonConverters.fromJson(json['from'],'DateTime',context!);
        to = JsonConverters.fromJson(json['to'],'DateTime',context!);
        targetAllocation = JsonConverters.fromJson(json['targetAllocation'],'NebenkostenTargetAllocation',context!);
        targetAllocationIn = JsonConverters.fromJson(json['targetAllocationIn'],'NebenkostenTargetAllocationIn',context!);
        nebenkostenKind = json['nebenkostenKind'];
        kostenart = json['kostenart'];
        brutto = JsonConverters.toDouble(json['brutto']);
        bruttoLastYear = JsonConverters.toDouble(json['bruttoLastYear']);
        salesTax = JsonConverters.toDouble(json['salesTax']);
        haushaltsnahediensteLabel = json['haushaltsnahediensteLabel'];
        haushaltsnahediensteBrutto = JsonConverters.toDouble(json['haushaltsnahediensteBrutto']);
        kostenartUnit = json['kostenartUnit'];
        reduzierungsartType = json['reduzierungsartType'];
        comment = json['comment'];
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nebenkostenNutzeinheiten = JsonConverters.fromJson(json['nebenkostenNutzeinheiten'],'List<NebenkostenNutzeinheit>',context!);
        nebenkostenNutzer = JsonConverters.fromJson(json['nebenkostenNutzer'],'List<NebenkostenNutzer>',context!);
        billingInformation = JsonConverters.fromJson(json['billingInformation'],'BillingInformation',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'number': number,
        'from': JsonConverters.toJson(from,'DateTime',context!),
        'to': JsonConverters.toJson(to,'DateTime',context!),
        'targetAllocation': JsonConverters.toJson(targetAllocation,'NebenkostenTargetAllocation',context!),
        'targetAllocationIn': JsonConverters.toJson(targetAllocationIn,'NebenkostenTargetAllocationIn',context!),
        'nebenkostenKind': nebenkostenKind,
        'kostenart': kostenart,
        'brutto': brutto,
        'bruttoLastYear': bruttoLastYear,
        'salesTax': salesTax,
        'haushaltsnahediensteLabel': haushaltsnahediensteLabel,
        'haushaltsnahediensteBrutto': haushaltsnahediensteBrutto,
        'kostenartUnit': kostenartUnit,
        'reduzierungsartType': reduzierungsartType,
        'comment': comment,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nebenkostenNutzeinheiten': JsonConverters.toJson(nebenkostenNutzeinheiten,'List<NebenkostenNutzeinheit>',context!),
        'nebenkostenNutzer': JsonConverters.toJson(nebenkostenNutzer,'List<NebenkostenNutzer>',context!),
        'billingInformation': JsonConverters.toJson(billingInformation,'BillingInformation',context!)
    };

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

// @DataContract
class RelatedTo implements IConvertible
{
    // @DataMember
    String? guid;

    RelatedTo({this.guid});
    RelatedTo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid
    };

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

class PostNebenkosten implements IHasBearerToken, IConvertible
{
    // @ApiMember(IsRequired=true, ParameterType="body")
    Nebenkosten? nebenkosten;

    // @ApiMember(IsRequired=true, ParameterType="body")
    RelatedTo? relatedToObjekt;

    // @ApiMember(IsRequired=true, ParameterType="body")
    RelatedTo? relatedToBillingInformation;

    // @ApiMember(IsRequired=true, ParameterType="body")
    String? bearerToken;

    PostNebenkosten({this.nebenkosten,this.relatedToObjekt,this.relatedToBillingInformation,this.bearerToken});
    PostNebenkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nebenkosten = JsonConverters.fromJson(json['nebenkosten'],'Nebenkosten',context!);
        relatedToObjekt = JsonConverters.fromJson(json['relatedToObjekt'],'RelatedTo',context!);
        relatedToBillingInformation = JsonConverters.fromJson(json['relatedToBillingInformation'],'RelatedTo',context!);
        bearerToken = json['bearerToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nebenkosten': JsonConverters.toJson(nebenkosten,'Nebenkosten',context!),
        'relatedToObjekt': JsonConverters.toJson(relatedToObjekt,'RelatedTo',context!),
        'relatedToBillingInformation': JsonConverters.toJson(relatedToBillingInformation,'RelatedTo',context!),
        'bearerToken': bearerToken
    };

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

TypeContext _ctx = TypeContext(library: 'demo_servdesk.eras_online.de', types: <String, TypeInfo> {
    'PostNebenkostenResponse': TypeInfo(TypeOf.Class, create:() => PostNebenkostenResponse()),
    'NebenkostenTargetAllocation': TypeInfo(TypeOf.Enum, enumValues:NebenkostenTargetAllocation.values),
    'NebenkostenTargetAllocationIn': TypeInfo(TypeOf.Enum, enumValues:NebenkostenTargetAllocationIn.values),
    'NebenkostenNutzeinheit': TypeInfo(TypeOf.Class, create:() => NebenkostenNutzeinheit()),
    'NebenkostenNutzer': TypeInfo(TypeOf.Class, create:() => NebenkostenNutzer()),
    'BillingInformation': TypeInfo(TypeOf.Class, create:() => BillingInformation()),
    'Nebenkosten': TypeInfo(TypeOf.Class, create:() => Nebenkosten()),
    'List<NebenkostenNutzeinheit>': TypeInfo(TypeOf.Class, create:() => <NebenkostenNutzeinheit>[]),
    'List<NebenkostenNutzer>': TypeInfo(TypeOf.Class, create:() => <NebenkostenNutzer>[]),
    'RelatedTo': TypeInfo(TypeOf.Class, create:() => RelatedTo()),
    'PostNebenkosten': TypeInfo(TypeOf.Class, create:() => PostNebenkosten()),
});

Dart PostNebenkosten 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.

POST /api/v1/nebenkosten HTTP/1.1 
Host: demo-servdesk.eras-online.de 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"nebenkosten":{"guid":"00000000000000000000000000000000","number":0,"from":"0001-01-01T00:00:00.0000000Z","to":"0001-01-01T00:00:00.0000000Z","targetAllocation":"Null","targetAllocationIn":"Nebenkosten","nebenkostenKind":"String","kostenart":"String","brutto":0,"bruttoLastYear":0,"salesTax":0,"haushaltsnahediensteLabel":"String","haushaltsnahediensteBrutto":0,"kostenartUnit":"String","reduzierungsartType":"String","comment":"String","isDeleted":false,"isCreatedByApp":false,"nebenkostenNutzeinheiten":[{"relativeAmount":0,"isDeleted":false,"isCreatedByApp":false,"nutzeinheitGuid":"00000000000000000000000000000000"}],"nebenkostenNutzer":[{"relativeAmount":0,"isDeleted":false,"isCreatedByApp":false,"nutzerGuid":"00000000000000000000000000000000"}],"billingInformation":{"guid":"String","from":"0001-01-01T00:00:00.0000000Z","to":"0001-01-01T00:00:00.0000000Z","isCompleted":false,"hasNebenkosten":false}},"relatedToObjekt":{"guid":"00000000000000000000000000000000"},"relatedToBillingInformation":{"guid":"00000000000000000000000000000000"},"bearerToken":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"checksumMD5":"String"}