using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using WebService.ServiceModel;
using WebService.ServiceModel.Base;
using CommonService.Api.Models.Base;
namespace CommonService.Api.Models.Base
{
public partial class ApiServiceResponse
: IServiceResponse
{
public virtual string Description { get; set; }
public virtual string Heading { get; set; }
public virtual bool WasSuccessful { get; set; }
public virtual Object ModelState { get; set; }
}
}
namespace WebService.ServiceModel
{
public partial class BookingLocation
{
public virtual double Latitude { get; set; }
public virtual double Longitude { get; set; }
public virtual string Address { get; set; }
}
[Flags]
public enum BookingType
{
TakeMeHome = 1,
PickMeUp = 2,
}
public partial class PickMeUpBooking
: ApiServiceRequest
{
public virtual BookingType BookingType { get; set; }
public virtual int PassengerCount { get; set; }
public virtual string BookingDate { get; set; }
public virtual string ContactName { get; set; }
public virtual string ContactNumber { get; set; }
public virtual BookingLocation PickupLocation { get; set; }
public virtual BookingLocation DropoffLocation { get; set; }
}
public partial class PickMeUpBookingResponse
: ApiServiceResponse
{
}
}
namespace WebService.ServiceModel.Base
{
public partial class ApiServiceRequest
: IServiceRequest, IHasApiKey, IHasDeviceInfo, IHasClientId
{
///<summary>
///The API Key required for authentication
///</summary>
[ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)]
public virtual string ApiKey { get; set; }
///<summary>
///Latitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Latitude of the user making this request")]
public virtual double Latitude { get; set; }
///<summary>
///Longitude of the user making this request
///</summary>
[ApiMember(DataType="double", Description="Longitude of the user making this request")]
public virtual double Longitude { 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>