Server

<back to all web services

PostNebenkosten

Nebenkosten
Requires Authentication
The following routes are available for this service:
POST/api/v1/nebenkosten
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Post;
using Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models;
using Eras2Web.Service.Desktop.Server.ServiceModel.Enums;

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Enums
{
    public enum NebenkostenTargetAllocation
    {
        Null,
        AlleNutzer,
        ZugeordneteNutzer,
        ZugeordneteNutzeinheiten,
        ZugeordneteNutzerDiff,
        ZugeordneteNutzeinheitenDiff,
    }

    public enum NebenkostenTargetAllocationIn
    {
        Nebenkosten,
        Heizkosten,
        Warmwasserkosten,
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models
{
    [DataContract]
    public partial class BillingInformation
    {
        [DataMember]
        public virtual string Guid { get; set; }

        [DataMember]
        public virtual DateTime From { get; set; }

        [DataMember]
        public virtual DateTime To { get; set; }

        [DataMember]
        public virtual bool IsCompleted { get; set; }

        [DataMember]
        public virtual bool HasNebenkosten { get; set; }
    }

    [DataContract]
    public partial class Nebenkosten
    {
        public Nebenkosten()
        {
            NebenkostenNutzeinheiten = new List<NebenkostenNutzeinheit>{};
            NebenkostenNutzer = new List<NebenkostenNutzer>{};
        }

        [DataMember]
        public virtual Guid Guid { get; set; }

        [DataMember]
        public virtual uint Number { get; set; }

        [DataMember]
        public virtual DateTime From { get; set; }

        [DataMember]
        public virtual DateTime To { get; set; }

        [DataMember]
        public virtual NebenkostenTargetAllocation? TargetAllocation { get; set; }

        [DataMember]
        public virtual NebenkostenTargetAllocationIn? TargetAllocationIn { get; set; }

        [DataMember]
        public virtual string NebenkostenKind { get; set; }

        ///<summary>
        ///Freitext
        ///</summary>
        [DataMember]
        [ApiMember(Description="Freitext")]
        public virtual string Kostenart { get; set; }

        [DataMember]
        public virtual decimal? Brutto { get; set; }

        [DataMember]
        public virtual decimal? BruttoLastYear { get; set; }

        [DataMember]
        public virtual decimal? SalesTax { get; set; }

        [DataMember]
        public virtual string HaushaltsnahediensteLabel { get; set; }

        [DataMember]
        public virtual decimal? HaushaltsnahediensteBrutto { get; set; }

        ///<summary>
        ///Freitext
        ///</summary>
        [DataMember]
        [ApiMember(Description="Freitext")]
        public virtual string KostenartUnit { get; set; }

        [DataMember]
        public virtual string ReduzierungsartType { get; set; }

        [DataMember]
        public virtual string Comment { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual List<NebenkostenNutzeinheit> NebenkostenNutzeinheiten { get; set; }

        [DataMember]
        public virtual List<NebenkostenNutzer> NebenkostenNutzer { get; set; }

        [DataMember]
        public virtual BillingInformation BillingInformation { get; set; }
    }

    [DataContract]
    public partial class NebenkostenNutzeinheit
    {
        [DataMember]
        public virtual decimal? RelativeAmount { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual Guid NutzeinheitGuid { get; set; }
    }

    [DataContract]
    public partial class NebenkostenNutzer
    {
        [DataMember]
        public virtual decimal? RelativeAmount { get; set; }

        [DataMember]
        public virtual bool IsDeleted { get; set; }

        [DataMember]
        public virtual bool IsCreatedByApp { get; set; }

        [DataMember]
        public virtual Guid NutzerGuid { get; set; }
    }

    [DataContract]
    public partial class RelatedTo
    {
        [DataMember]
        public virtual Guid Guid { get; set; }
    }

}

namespace Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Post
{
    public partial class PostNebenkosten
        : IHasBearerToken
    {
        [ApiMember(IsRequired=true, ParameterType="body")]
        public virtual Nebenkosten Nebenkosten { get; set; }

        [ApiMember(IsRequired=true, ParameterType="body")]
        public virtual RelatedTo RelatedToObjekt { get; set; }

        [ApiMember(IsRequired=true, ParameterType="body")]
        public virtual RelatedTo RelatedToBillingInformation { get; set; }

        [ApiMember(IsRequired=true, ParameterType="body")]
        public virtual string BearerToken { get; set; }
    }

    public partial class PostNebenkostenResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual string ChecksumMD5 { get; set; }
    }

}

C# PostNebenkosten 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/nebenkosten HTTP/1.1 
Host: bdl-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
		}
	},
	checksumMD5: String
}