Server

<back to all web services

PostDirektkosten

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

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

    PostDirektkostenResponse({this.responseStatus,this.checksumMD5});
    PostDirektkostenResponse.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() => "PostDirektkostenResponse";
    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 Direktkosten implements IConvertible
{
    // @DataMember
    String? guid;

    // @DataMember
    String? label;

    // @DataMember
    DateTime? date;

    // @DataMember
    double? brutto;

    // @DataMember
    double? salesTax;

    // @DataMember
    double? quantity;

    // @DataMember
    String? type;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    String? nutzerGuid;

    // @DataMember
    BillingInformation? billingInformation;

    Direktkosten({this.guid,this.label,this.date,this.brutto,this.salesTax,this.quantity,this.type,this.isDeleted,this.isCreatedByApp,this.nutzerGuid,this.billingInformation});
    Direktkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        label = json['label'];
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        brutto = JsonConverters.toDouble(json['brutto']);
        salesTax = JsonConverters.toDouble(json['salesTax']);
        quantity = JsonConverters.toDouble(json['quantity']);
        type = json['type'];
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nutzerGuid = json['nutzerGuid'];
        billingInformation = JsonConverters.fromJson(json['billingInformation'],'BillingInformation',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'label': label,
        'date': JsonConverters.toJson(date,'DateTime',context!),
        'brutto': brutto,
        'salesTax': salesTax,
        'quantity': quantity,
        'type': type,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nutzerGuid': nutzerGuid,
        'billingInformation': JsonConverters.toJson(billingInformation,'BillingInformation',context!)
    };

    getTypeName() => "Direktkosten";
    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 PostDirektkosten implements IHasBearerToken, IConvertible
{
    // @ApiMember(IsRequired=true, ParameterType="body")
    Direktkosten? direktkosten;

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

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

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

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

    PostDirektkosten({this.direktkosten,this.relatedToObjekt,this.relatedToBillingInformation,this.relatedToNutzer,this.bearerToken});
    PostDirektkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'eca_abrechnungsservice_servdesk.eras_online.de', types: <String, TypeInfo> {
    'PostDirektkostenResponse': TypeInfo(TypeOf.Class, create:() => PostDirektkostenResponse()),
    'BillingInformation': TypeInfo(TypeOf.Class, create:() => BillingInformation()),
    'Direktkosten': TypeInfo(TypeOf.Class, create:() => Direktkosten()),
    'RelatedTo': TypeInfo(TypeOf.Class, create:() => RelatedTo()),
    'PostDirektkosten': TypeInfo(TypeOf.Class, create:() => PostDirektkosten()),
});

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

POST /api/v1/direktkosten HTTP/1.1 
Host: eca-abrechnungsservice-servdesk.eras-online.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	direktkosten: 
	{
		guid: 00000000000000000000000000000000,
		label: String,
		date: 0001-01-01T00:00:00Z,
		brutto: 0,
		salesTax: 0,
		quantity: 0,
		type: String,
		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
	},
	relatedToNutzer: 
	{
		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
		}
	},
	checksumMD5: String
}