Server

<back to all web services

GetAppointment

Requires Authentication
The following routes are available for this service:
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
}


Swift GetAppointment 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 /Appointment/{Guid} HTTP/1.1 
Host: demo-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
		}
	}
}