| POST | /api/v1/nebenkosten |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class PostNebenkosten : IHasBearerToken
{
@ApiMember(IsRequired=true, ParameterType="body")
var nebenkosten:Nebenkosten? = null
@ApiMember(IsRequired=true, ParameterType="body")
var relatedToObjekt:RelatedTo? = null
@ApiMember(IsRequired=true, ParameterType="body")
var relatedToBillingInformation:RelatedTo? = null
@ApiMember(IsRequired=true, ParameterType="body")
var bearerToken:String? = null
}
@DataContract
open class Nebenkosten
{
@DataMember
var guid:UUID? = null
@DataMember
var number:Long? = null
@DataMember
var from:Date? = null
@DataMember
var to:Date? = null
@DataMember
var targetAllocation:NebenkostenTargetAllocation? = null
@DataMember
var targetAllocationIn:NebenkostenTargetAllocationIn? = null
@DataMember
var nebenkostenKind:String? = null
/**
* Freitext
*/
@DataMember
@ApiMember(Description="Freitext")
var kostenart:String? = null
@DataMember
var brutto:BigDecimal? = null
@DataMember
var bruttoLastYear:BigDecimal? = null
@DataMember
var salesTax:BigDecimal? = null
@DataMember
var haushaltsnahediensteLabel:String? = null
@DataMember
var haushaltsnahediensteBrutto:BigDecimal? = null
/**
* Freitext
*/
@DataMember
@ApiMember(Description="Freitext")
var kostenartUnit:String? = null
@DataMember
var reduzierungsartType:String? = null
@DataMember
var comment:String? = null
@DataMember
var isDeleted:Boolean? = null
@DataMember
var isCreatedByApp:Boolean? = null
@DataMember
var nebenkostenNutzeinheiten:ArrayList<NebenkostenNutzeinheit> = ArrayList<NebenkostenNutzeinheit>()
@DataMember
var nebenkostenNutzer:ArrayList<NebenkostenNutzer> = ArrayList<NebenkostenNutzer>()
@DataMember
var billingInformation:BillingInformation? = null
}
enum class NebenkostenTargetAllocation
{
Null,
AlleNutzer,
ZugeordneteNutzer,
ZugeordneteNutzeinheiten,
ZugeordneteNutzerDiff,
ZugeordneteNutzeinheitenDiff,
}
enum class NebenkostenTargetAllocationIn
{
Nebenkosten,
Heizkosten,
Warmwasserkosten,
}
@DataContract
open class NebenkostenNutzeinheit
{
@DataMember
var relativeAmount:BigDecimal? = null
@DataMember
var isDeleted:Boolean? = null
@DataMember
var isCreatedByApp:Boolean? = null
@DataMember
var nutzeinheitGuid:UUID? = null
}
@DataContract
open class NebenkostenNutzer
{
@DataMember
var relativeAmount:BigDecimal? = null
@DataMember
var isDeleted:Boolean? = null
@DataMember
var isCreatedByApp:Boolean? = null
@DataMember
var nutzerGuid:UUID? = null
}
@DataContract
open class BillingInformation
{
@DataMember
var guid:String? = null
@DataMember
var from:Date? = null
@DataMember
var to:Date? = null
@DataMember
var isCompleted:Boolean? = null
@DataMember
var hasNebenkosten:Boolean? = null
}
@DataContract
open class RelatedTo
{
@DataMember
var guid:UUID? = null
}
open class PostNebenkostenResponse
{
var responseStatus:ResponseStatus? = null
var checksumMD5:String? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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: messdienstservice-stadtwerke-peine-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
}