Server

<back to all web services

PutNebenkosten

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

class PutNebenkostenResponse implements IConvertible
{
    ResponseStatus? responseStatus;

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

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

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

    getTypeName() => "PutNebenkostenResponse";
    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 PutNebenkosten 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;

    PutNebenkosten({this.nebenkosten,this.relatedToObjekt,this.relatedToBillingInformation,this.bearerToken});
    PutNebenkosten.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() => "PutNebenkosten";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'mi_waerme_servdesk.eras_online.de', types: <String, TypeInfo> {
    'PutNebenkostenResponse': TypeInfo(TypeOf.Class, create:() => PutNebenkostenResponse()),
    '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()),
    'PutNebenkosten': TypeInfo(TypeOf.Class, create:() => PutNebenkosten()),
});

Dart PutNebenkosten DTOs

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

HTTP + JSV

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

PUT /api/v1/nebenkosten HTTP/1.1 
Host: mi-waerme-servdesk.eras-online.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	nebenkosten: 
	{
		guid: 00000000000000000000000000000000,
		number: 0,
		from: 0001-01-01T00:00:00Z,
		to: 0001-01-01T00:00:00Z,
		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:00Z,
			to: 0001-01-01T00:00:00Z,
			isCompleted: False,
			hasNebenkosten: False
		}
	},
	relatedToObjekt: 
	{
		guid: 00000000000000000000000000000000
	},
	relatedToBillingInformation: 
	{
		guid: 00000000000000000000000000000000
	},
	bearerToken: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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