GalaxyMobile App API

<back to all web services

EaStatusUpdateRequest

The following routes are available for this service:
POST/ea/statusEA to call this method to update case statuses.
import Foundation
import ServiceStack

public class EaStatusUpdateRequest : ILogRequest, IHasApiKey, Codable
{
    // @DataMember(Name="type")
    public var type:String

    // @DataMember(Name="incident_reference")
    public var incident_reference:String

    // @DataMember(Name="message")
    public var message:String

    // @DataMember(Name="notificationMetaData")
    public var notificationMetaData:NotificationMetaData

    /**
    * The API Key required for authentication
    */
    // @ApiMember(Description="The API Key required for authentication", IsRequired=true)
    public var apiKey:String

    required public init(){}
}

public class NotificationMetaData : Codable
{
    // @DataMember(Name="referenceNumber")
    public var referenceNumber:String

    // @DataMember(Name="incidentDateTime")
    public var incidentDateTime:Date

    // @DataMember(Name="serviceSpecification")
    public var serviceSpecification:String

    // @DataMember(Name="policyNumber")
    public var policyNumber:String

    // @DataMember(Name="memberName")
    public var memberName:String

    // @DataMember(Name="memberSurname")
    public var memberSurname:String

    // @DataMember(Name="memberIdNumber")
    public var memberIdNumber:String

    // @DataMember(Name="vehicleRegistration")
    public var vehicleRegistration:String

    // @DataMember(Name="vehicleMake")
    public var vehicleMake:String

    // @DataMember(Name="vehicleModel")
    public var vehicleModel:String

    // @DataMember(Name="incidentDescription")
    public var incidentDescription:String

    // @DataMember(Name="incidentTripLocationLat")
    public var incidentTripLocationLat:Double

    // @DataMember(Name="incidentTripLocationLong")
    public var incidentTripLocationLong:Double

    // @DataMember(Name="incidentCountry")
    public var incidentCountry:String

    // @DataMember(Name="incidentProvince")
    public var incidentProvince:String

    // @DataMember(Name="incidentTown")
    public var incidentTown:String

    // @DataMember(Name="incidentSuburb")
    public var incidentSuburb:String

    // @DataMember(Name="incidentStreetNumber")
    public var incidentStreetNumber:String

    // @DataMember(Name="incidentStreetName")
    public var incidentStreetName:String

    // @DataMember(Name="destinationDescription")
    public var destinationDescription:String

    // @DataMember(Name="destinationTripLocationLat")
    public var destinationTripLocationLat:Double

    // @DataMember(Name="destinationTripLocationLong")
    public var destinationTripLocationLong:Double

    // @DataMember(Name="destinationCountry")
    public var destinationCountry:String

    // @DataMember(Name="destinationProvince")
    public var destinationProvince:String

    // @DataMember(Name="destinationTown")
    public var destinationTown:String

    // @DataMember(Name="destinationSuburb")
    public var destinationSuburb:String

    // @DataMember(Name="destinationStreetNumber")
    public var destinationStreetNumber:String

    // @DataMember(Name="destinationStreetName")
    public var destinationStreetName:String

    // @DataMember(Name="serviceProviderName")
    public var serviceProviderName:String

    // @DataMember(Name="estimateArrivalDateAndTime")
    public var estimateArrivalDateAndTime:Date

    // @DataMember(Name="amount")
    public var amount:Double

    // @DataMember(Name="VAT")
    public var VAT:Int

    // @DataMember(Name="Quantity")
    public var Quantity:Int

    // @DataMember(Name="closedDateAndTime")
    public var closedDateAndTime:Date

    required public init(){}
}

public class ApiServiceResponse : IServiceResponse, Codable
{
    public var Description:String
    public var heading:String
    public var wasSuccessful:Bool
    //modelState:Object ignored. Type could not be extended in Swift

    required public init(){}
}


Swift EaStatusUpdateRequest 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 /ea/status HTTP/1.1 
Host: galaxymobile.api.dev.86degrees.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	type: String,
	incident_reference: String,
	message: String,
	notificationMetaData: 
	{
		referenceNumber: String,
		incidentDateTime: 0001-01-01T00:00:00.0000000+00:00,
		serviceSpecification: String,
		policyNumber: String,
		memberName: String,
		memberSurname: String,
		memberIdNumber: String,
		vehicleRegistration: String,
		vehicleMake: String,
		vehicleModel: String,
		incidentDescription: String,
		incidentTripLocationLat: 0,
		incidentTripLocationLong: 0,
		incidentCountry: String,
		incidentProvince: String,
		incidentTown: String,
		incidentSuburb: String,
		incidentStreetNumber: String,
		incidentStreetName: String,
		destinationDescription: String,
		destinationTripLocationLat: 0,
		destinationTripLocationLong: 0,
		destinationCountry: String,
		destinationProvince: String,
		destinationTown: String,
		destinationSuburb: String,
		destinationStreetNumber: String,
		destinationStreetName: String,
		serviceProviderName: String,
		estimateArrivalDateAndTime: 0001-01-01T00:00:00.0000000+00:00,
		amount: 0,
		VAT: 0,
		Quantity: 0,
		closedDateAndTime: 0001-01-01T00:00:00.0000000+00:00
	},
	ApiKey: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Description: String,
	Heading: String,
	WasSuccessful: False,
	ModelState: {}
}