Server

<back to all web services

GetObjekt

Objekte
Requires Authentication
The following routes are available for this service:
GET/api/v1/objekte/{Guid}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

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

    // @DataMember
    String? street;

    // @DataMember
    String? street2;

    // @DataMember
    String? streetNumber;

    // @DataMember
    String? zipcode;

    // @DataMember
    String? city;

    // @DataMember
    String? mailbox;

    // @DataMember
    String? additional;

    Address({this.guid,this.street,this.street2,this.streetNumber,this.zipcode,this.city,this.mailbox,this.additional});
    Address.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        street = json['street'];
        street2 = json['street2'];
        streetNumber = json['streetNumber'];
        zipcode = json['zipcode'];
        city = json['city'];
        mailbox = json['mailbox'];
        additional = json['additional'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'street': street,
        'street2': street2,
        'streetNumber': streetNumber,
        'zipcode': zipcode,
        'city': city,
        'mailbox': mailbox,
        'additional': additional
    };

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

// @DataContract
class Nutzeinheit implements IConvertible
{
    // @DataMember(Name="Guid")
    String? Guid;

    // @DataMember(Name="Nummer")
    String? Nummer;

    // @DataMember(Name="Lage")
    String? Lage;

    // @DataMember(Name="ObjektGuid")
    String? ObjektGuid;

    // @DataMember(Name="AdressGuid")
    String? AdressGuid;

    Nutzeinheit({this.Guid,this.Nummer,this.Lage,this.ObjektGuid,this.AdressGuid});
    Nutzeinheit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Guid = json['guid'];
        Nummer = json['number'];
        Lage = json['location'];
        ObjektGuid = json['objektGuid'];
        AdressGuid = json['addressGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': Guid,
        'nummer': Nummer,
        'lage': Lage,
        'objektGuid': ObjektGuid,
        'adressGuid': AdressGuid
    };

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

// @DataContract
class BillingInformation implements IConvertible
{
    // @DataMember(Name="Guid")
    String? Guid;

    // @DataMember(Name="Von")
    DateTime? Von;

    // @DataMember(Name="Bis")
    DateTime? Bis;

    // @DataMember(Name="IstAbgeschlossen")
    bool? IstAbgeschlossen;

    // @DataMember(Name="HatNebenkosten")
    bool? HatNebenkosten;

    // @DataMember(Name="ObjektGuid")
    String? ObjektGuid;

    // @DataMember(Name="AnmerkungKundenportal")
    String? AnmerkungKundenportal;

    // @DataMember(Name="KundenportalMarkedDone")
    bool? KundenportalMarkedDone;

    // @DataMember(Name="MarkedDoneAt")
    DateTime? MarkedDoneAt;

    // @DataMember(Name="KundenportalMarkedClosed")
    bool? KundenportalMarkedClosed;

    // @DataMember(Name="MarkedClosedAt")
    DateTime? MarkedClosedAt;

    BillingInformation({this.Guid,this.Von,this.Bis,this.IstAbgeschlossen,this.HatNebenkosten,this.ObjektGuid,this.AnmerkungKundenportal,this.KundenportalMarkedDone,this.MarkedDoneAt,this.KundenportalMarkedClosed,this.MarkedClosedAt});
    BillingInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Guid = json['guid'];
        Von = JsonConverters.fromJson(json['from'],'DateTime',context!);
        Bis = JsonConverters.fromJson(json['to'],'DateTime',context!);
        IstAbgeschlossen = json['isCompleted'];
        HatNebenkosten = json['hasNebenkosten'];
        ObjektGuid = json['objektGuid'];
        AnmerkungKundenportal = json['anmerkungKundenportal'];
        KundenportalMarkedDone = json['kundenportalMarkedDone'];
        MarkedDoneAt = JsonConverters.fromJson(json['markedDoneAt'],'DateTime',context!);
        KundenportalMarkedClosed = json['kundenportalMarkedClosed'];
        MarkedClosedAt = JsonConverters.fromJson(json['markedClosedAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': Guid,
        'von': JsonConverters.toJson(Von,'DateTime',context!),
        'bis': JsonConverters.toJson(Bis,'DateTime',context!),
        'istAbgeschlossen': IstAbgeschlossen,
        'hatNebenkosten': HatNebenkosten,
        'objektGuid': ObjektGuid,
        'anmerkungKundenportal': AnmerkungKundenportal,
        'kundenportalMarkedDone': KundenportalMarkedDone,
        'markedDoneAt': JsonConverters.toJson(MarkedDoneAt,'DateTime',context!),
        'kundenportalMarkedClosed': KundenportalMarkedClosed,
        'markedClosedAt': JsonConverters.toJson(MarkedClosedAt,'DateTime',context!)
    };

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

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

    // @DataMember
    String? number;

    // @DataMember
    String? isCompleted;

    // @DataMember
    DateTime? completedDate;

    // @DataMember
    Address? address;

    // @DataMember
    List<Nutzeinheit>? nutzeinheiten;

    // @DataMember
    List<BillingInformation>? billingInformations;

    Objekt({this.guid,this.number,this.isCompleted,this.completedDate,this.address,this.nutzeinheiten,this.billingInformations});
    Objekt.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        number = json['number'];
        isCompleted = json['isCompleted'];
        completedDate = JsonConverters.fromJson(json['completedDate'],'DateTime',context!);
        address = JsonConverters.fromJson(json['address'],'Address',context!);
        nutzeinheiten = JsonConverters.fromJson(json['nutzeinheiten'],'List<Nutzeinheit>',context!);
        billingInformations = JsonConverters.fromJson(json['billingInformations'],'List<BillingInformation>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'number': number,
        'isCompleted': isCompleted,
        'completedDate': JsonConverters.toJson(completedDate,'DateTime',context!),
        'address': JsonConverters.toJson(address,'Address',context!),
        'nutzeinheiten': JsonConverters.toJson(nutzeinheiten,'List<Nutzeinheit>',context!),
        'billingInformations': JsonConverters.toJson(billingInformations,'List<BillingInformation>',context!)
    };

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

class GetObjektResponse implements IConvertible
{
    Objekt? objekt;
    ResponseStatus? responseStatus;

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

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

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

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

class GetObjekt implements IHasBearerToken, IConvertible
{
    // @ApiMember(IsRequired=true, ParameterType="query")
    String? bearerToken;

    // @ApiMember(IsRequired=true, ParameterType="path")
    String? guid;

    // @ApiMember(ParameterType="query")
    String? include;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'faabrechnungen_servdesk.eras_online.de', types: <String, TypeInfo> {
    'Address': TypeInfo(TypeOf.Class, create:() => Address()),
    'Nutzeinheit': TypeInfo(TypeOf.Class, create:() => Nutzeinheit()),
    'BillingInformation': TypeInfo(TypeOf.Class, create:() => BillingInformation()),
    'Objekt': TypeInfo(TypeOf.Class, create:() => Objekt()),
    'List<Nutzeinheit>': TypeInfo(TypeOf.Class, create:() => <Nutzeinheit>[]),
    'List<BillingInformation>': TypeInfo(TypeOf.Class, create:() => <BillingInformation>[]),
    'GetObjektResponse': TypeInfo(TypeOf.Class, create:() => GetObjektResponse()),
    'GetObjekt': TypeInfo(TypeOf.Class, create:() => GetObjekt()),
});

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

GET /api/v1/objekte/{Guid} HTTP/1.1 
Host: faabrechnungen-servdesk.eras-online.de 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	objekt: 
	{
		guid: 00000000000000000000000000000000,
		number: String,
		isCompleted: String,
		completedDate: 0001-01-01T00:00:00Z,
		address: 
		{
			guid: 00000000000000000000000000000000,
			street: String,
			street2: String,
			streetNumber: String,
			zipcode: String,
			city: String,
			mailbox: String,
			additional: String
		},
		nutzeinheiten: 
		[
			{
				guid: 00000000000000000000000000000000,
				number: String,
				location: String,
				address: 
				{
					guid: 00000000000000000000000000000000,
					street: String,
					street2: String,
					streetNumber: String,
					zipcode: String,
					city: String,
					mailbox: String,
					additional: String
				},
				nutzer: 
				[
					{
						guid: 00000000000000000000000000000000,
						name1: String,
						name2: String,
						name3: String,
						name4: String,
						nutzerType: Leerstand,
						nutzeinheitNumberExternal: String,
						nutzerInNutzeinheitSequence: 0,
						rangeFrom: 0001-01-01T00:00:00Z,
						rangeTo: 0001-01-01T00:00:00Z,
						isDeleted: False,
						isCreatedByApp: False,
						IstUvi: String,
						EigentuemerBewohnt: String,
						Email: String,
						Mobil: String,
						title: String,
						salutation: String
					}
				],
				ownerNutzeinheiten: 
				[
					{
						guid: 00000000000000000000000000000000,
						name1: String,
						name2: String,
						name3: String,
						name4: String,
						rangeFrom: 0001-01-01T00:00:00Z,
						rangeTo: 0001-01-01T00:00:00Z,
						title: String,
						salutation: String,
						address: 
						{
							guid: 00000000000000000000000000000000,
							street: String,
							street2: String,
							streetNumber: String,
							zipcode: String,
							city: String,
							mailbox: String,
							additional: String
						}
					}
				],
				nutzeinheitenDevices: 
				[
					{
						guid: 00000000000000000000000000000000,
						assignedFromDate: 0001-01-01T00:00:00Z,
						assignedToDate: 0001-01-01T00:00:00Z,
						room: String,
						ongoingNumber: String,
						isRented: False,
						isMaintained: False,
						device: 
						{
							guid: 00000000000000000000000000000000,
							number: String,
							label: String,
							description: String,
							installationDate: 0001-01-01T00:00:00Z,
							deinstallationDate: 0001-01-01T00:00:00Z,
							calibrationDate: 0001-01-01T00:00:00Z,
							unit: L,
							note: String,
							deviceCatalog: 
							{
								Guid: String,
								TypKurz: String,
								TypLang: String,
								Ablesbar: False,
								Klasse: String,
								Abzug: False,
								Hkvv: False,
								Funk: False
							},
							deviceConsumptions: 
							[
								{
									guid: 00000000000000000000000000000000,
									deviceReading: 0,
									deviceReadingDate: 0001-01-01T00:00:00Z,
									deviceReadingKind: ZA,
									changeDate: 0001-01-01T00:00:00Z,
									note: String,
									ampouleColour: String,
									deviceGuid: String
								}
							]
						}
					}
				]
			}
		],
		billingInformations: 
		[
			{
				guid: String,
				from: 0001-01-01T00:00:00Z,
				to: 0001-01-01T00:00:00Z,
				isCompleted: False,
				hasNebenkosten: False
			}
		]
	},
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}