| GET | /Appointment/{Guid} |
|---|
import Foundation
import ServiceStack
// @DataContract
public class GetAppointment : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="AllAppointments")
public var AllAppointments:Bool
required public init(){}
}
public class GetAppointmentResponse : Codable
{
public var order:Order
public var backDeviceStates:[DeviceOrderState] = []
public var responseStatus:ResponseStatus
required public init(){}
}
public class Order : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Abrechnungseinheit")
public var Abrechnungseinheit:Abrechnungseinheit
// @DataMember(Name="AuftragNummer")
public var AuftragNummer:String
// @DataMember(Name="Bezeichnung")
public var Bezeichnung:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="Termine")
public var Termine:IList<Appointment>
// @DataMember(Name="AuftragZustand")
public var AuftragZustand:OrderState
required public init(){}
}
// @DataContract
public class Abrechnungseinheit : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Objektnummer")
public var Objektnummer:String
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="Address")
public var Address:Address
required public init(){}
}
// @DataContract
public class Address : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Straße")
public var Stra_e:String
// @DataMember(Name="Straße2")
public var Stra_e2:String
// @DataMember(Name="Hausnummer")
public var Hausnummer:String
// @DataMember(Name="Postleitzahl")
public var Postleitzahl:String
// @DataMember(Name="Ort")
public var Ort:String
// @DataMember(Name="Postfach")
public var Postfach:String
// @DataMember(Name="Adresszusatz")
public var Adresszusatz:String
// @DataMember(Name="Breitengrad")
public var Breitengrad:Double
// @DataMember(Name="Laengengrad")
public var Laengengrad:Double
required public init(){}
}
// @DataContract
public class Appointment : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Von")
public var Von:Date
// @DataMember(Name="Bis")
public var Bis:Date
// @DataMember(Name="Monteure")
public var Monteure:IList<AppointmentStoreUser>
// @DataMember(Name="Nutzeinheiten")
public var Nutzeinheiten:IList<AppointmentNutzeinheit>
required public init(){}
}
// @DataContract
public class AppointmentStoreUser : Codable
{
// @DataMember(Name="MonteurGuid")
public var MonteurGuid:String
required public init(){}
}
// @DataContract
public class AppointmentNutzeinheit : Codable
{
// @DataMember(Name="NutzeinheitGuid")
public var NutzeinheitGuid:String
required public init(){}
}
// @DataContract
public class OrderState : Codable
{
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="AuftragArten")
public var AuftragArten:IList<OrderKind?>
// @DataMember(Name="Bearbeitungsstatus")
public var Bearbeitungsstatus:ProcessState?
// @DataMember(Name="AbgeschlossenDatum")
public var AbgeschlossenDatum:Date?
required public init(){}
}
public enum ProcessState : String, Codable
{
case InProgress
case Updating
case Creating
case Completed
}
// @DataContract
public class DeviceOrderState : Codable
{
// @DataMember(Name="GeraeteGuid")
public var GeraeteGuid:String
// @DataMember(Name="AuftragGuid")
public var AuftragGuid:String
// @DataMember(Name="AuftragArt")
public var AuftragArt:DeviceOrderKind?
// @DataMember(Name="Bearbeitungsstatus")
public var Bearbeitungsstatus:ProcessState?
// @DataMember(Name="AbgeschlossenDatum")
public var AbgeschlossenDatum:Date?
// @DataMember(Name="AmwInfo")
public var AmwInfo:String
required public init(){}
}
public enum DeviceOrderKind : String, Codable
{
case Assembly
case Maintenance
case Exchange
case Reading
case Inspection
case MainReading
}
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.
GET /Appointment/{Guid} HTTP/1.1
Host: develop-servamw.eras-online.de
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
appointment:
{
Guid: 00000000000000000000000000000000,
Von: 0001-01-01T00:00:00Z,
Bis: 0001-01-01T00:00:00Z
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}