namespace WebService.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type ApiServiceResponse() =
member val Description:String = null with get,set
member val Heading:String = null with get,set
member val WasSuccessful:Boolean = new Boolean() with get,set
member val ModelState:Object = null with get,set
[<AllowNullLiteral>]
type PickMeUpBookingResponse() =
inherit ApiServiceResponse()
[<AllowNullLiteral>]
type ApiServiceRequest() =
///<summary>
///The API Key required for authentication
///</summary>
[<ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)>]
member val ApiKey:String = null with get,set
///<summary>
///Latitude of the user making this request
///</summary>
[<ApiMember(DataType="double", Description="Latitude of the user making this request")>]
member val Latitude:Double = new Double() with get,set
///<summary>
///Longitude of the user making this request
///</summary>
[<ApiMember(DataType="double", Description="Longitude of the user making this request")>]
member val Longitude:Double = new Double() with get,set
[<Flags>]
type BookingType =
| TakeMeHome = 1
| PickMeUp = 2
[<AllowNullLiteral>]
type BookingLocation() =
member val Latitude:Double = new Double() with get,set
member val Longitude:Double = new Double() with get,set
member val Address:String = null with get,set
[<AllowNullLiteral>]
type PickMeUpBooking() =
inherit ApiServiceRequest()
member val BookingType:BookingType = new BookingType() with get,set
member val PassengerCount:Int32 = new Int32() with get,set
member val BookingDate:String = null with get,set
member val ContactName:String = null with get,set
member val ContactNumber:String = null with get,set
member val PickupLocation:BookingLocation = null with get,set
member val DropoffLocation:BookingLocation = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/PickMeUpBooking HTTP/1.1
Host: galaxymobile.api.dev.86degrees.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PickMeUpBooking xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
<ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</ApiKey>
<Latitude xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">0</Latitude>
<Longitude xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">0</Longitude>
<BookingDate>String</BookingDate>
<BookingType>TakeMeHome</BookingType>
<ContactName>String</ContactName>
<ContactNumber>String</ContactNumber>
<DropoffLocation>
<Address>String</Address>
<Latitude>0</Latitude>
<Longitude>0</Longitude>
</DropoffLocation>
<PassengerCount>0</PassengerCount>
<PickupLocation>
<Address>String</Address>
<Latitude>0</Latitude>
<Longitude>0</Longitude>
</PickupLocation>
</PickMeUpBooking>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <PickMeUpBookingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel"> <Description xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Description> <Heading xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">String</Heading> <ModelState xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base" /> <WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">false</WasSuccessful> </PickMeUpBookingResponse>