| POST | /pickmeup/pickmeup | Request a booking for the Pick Me Up service. |
|---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports WebService.ClientServiceModel.PickMeUp
Imports WebService.ClientServiceModel.Base
Imports CommonService.Api.Models.Base
Namespace Global
Namespace CommonService.Api.Models.Base
Public Partial Class ApiServiceResponse
Implements IServiceResponse
Public Overridable Property Description As String
Public Overridable Property Heading As String
Public Overridable Property WasSuccessful As Boolean
Public Overridable Property ModelState As Object
End Class
End Namespace
Namespace WebService.ClientServiceModel.Base
Public Partial Class ApiServiceRequest
Implements IServiceRequest
Implements IHasApiKey
'''<Summary>
'''The API Key required for authentication
'''</Summary>
<ApiMember(DataType:="string", Description:="The API Key required for authentication", IsRequired:=true)>
Public Overridable Property ApiKey As String
End Class
End Namespace
Namespace WebService.ClientServiceModel.PickMeUp
Public Partial Class BookingLocation
'''<Summary>
'''Latitude of the pickup/drop-off location.
'''</Summary>
<ApiMember(Description:="Latitude of the pickup/drop-off location.", IsRequired:=true)>
Public Overridable Property Latitude As Double
'''<Summary>
'''Longitude of the pickup/drop-off location.
'''</Summary>
<ApiMember(Description:="Longitude of the pickup/drop-off location.", IsRequired:=true)>
Public Overridable Property Longitude As Double
'''<Summary>
'''Address of the pickup/drop-off location.
'''</Summary>
<ApiMember(Description:="Address of the pickup/drop-off location.", IsRequired:=true)>
Public Overridable Property Address As String
End Class
Public Partial Class PickMeUpActivationRequest
Inherits ApiServiceRequest
'''<Summary>
'''ID Number of the user making this request.
'''</Summary>
<ApiMember(Description:="ID Number of the user making this request.", IsRequired:=true)>
Public Overridable Property IdNumber As String
'''<Summary>
'''The number of people to be picked up.
'''</Summary>
<ApiMember(Description:="The number of people to be picked up.", IsRequired:=true)>
Public Overridable Property PassengerCount As Integer
'''<Summary>
'''Date and Time of the pickup in ISO 8601 format.
'''</Summary>
<ApiMember(Description:="Date and Time of the pickup in ISO 8601 format.", IsRequired:=true)>
Public Overridable Property BookingDate As String
'''<Summary>
'''Name of contact person at pickup.
'''</Summary>
<ApiMember(Description:="Name of contact person at pickup.", IsRequired:=true)>
Public Overridable Property ContactName As String
'''<Summary>
'''Contact number of contact person at pickup.
'''</Summary>
<ApiMember(Description:="Contact number of contact person at pickup.", IsRequired:=true)>
Public Overridable Property ContactNumber As String
'''<Summary>
'''The location details of where the clients are to be picked up.
'''</Summary>
<ApiMember(DataType:="BookingLocation", Description:="The location details of where the clients are to be picked up.", IsRequired:=true)>
Public Overridable Property PickupLocation As BookingLocation
'''<Summary>
'''The location details of where the clients are to be dropped off.
'''</Summary>
<ApiMember(DataType:="BookingLocation", Description:="The location details of where the clients are to be dropped off.", IsRequired:=true)>
Public Overridable Property DropoffLocation As BookingLocation
End Class
Public Partial Class PickMeUpRequest
Inherits PickMeUpActivationRequest
End Class
Public Partial Class PickMeUpResponse
Inherits ApiServiceResponse
'''<Summary>
'''Is the requested product set up and enabled on Galaxy.
'''</Summary>
<ApiMember(Description:="Is the requested product set up and enabled on Galaxy.")>
Public Overridable Property ProductAvailable As Boolean
'''<Summary>
'''Does the user have access to this product, based on their Galaxy profile.
'''</Summary>
<ApiMember(Description:="Does the user have access to this product, based on their Galaxy profile.")>
Public Overridable Property UserHasAccess As Boolean
'''<Summary>
'''This indicates that the pickup location is outside of the service area of the service provider.
'''</Summary>
<ApiMember(Description:="This indicates that the pickup location is outside of the service area of the service provider.")>
Public Overridable Property PickupOutOfBounds As Boolean
'''<Summary>
'''This indicates that the dropoff location is outside of the service area of the service provider.
'''</Summary>
<ApiMember(Description:="This indicates that the dropoff location is outside of the service area of the service provider.")>
Public Overridable Property DropoffOutOfBounds As Boolean
'''<Summary>
'''This indicates that the pickup time is not far enough in the future. The time needs to be at least 60 minutes in the future, or 90 minutes during peak times. See the documentation for more details.
'''</Summary>
<ApiMember(Description:="This indicates that the pickup time is not far enough in the future. The time needs to be at least 60 minutes in the future, or 90 minutes during peak times. See the documentation for more details.")>
Public Overridable Property PickupTooSoon As Boolean
'''<Summary>
'''The booking reference number returned by the service provider. To be shown to the client.
'''</Summary>
<ApiMember(Description:="The booking reference number returned by the service provider. To be shown to the client.")>
Public Overridable Property ReferenceNumber As String
'''<Summary>
'''Error message from service provider.
'''</Summary>
<ApiMember(Description:="Error message from service provider.")>
Public Overridable Property ErrorMessage As String
'''<Summary>
'''Error code from service provider.
'''</Summary>
<ApiMember(Description:="Error code from service provider.")>
Public Overridable Property ErrorCode As Integer
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /pickmeup/pickmeup HTTP/1.1
Host: galaxymobile.api.client.prod.86degrees.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"IdNumber":"String","PassengerCount":0,"BookingDate":"String","ContactName":"String","ContactNumber":"String","PickupLocation":{"Latitude":0,"Longitude":0,"Address":"String"},"DropoffLocation":{"Latitude":0,"Longitude":0,"Address":"String"},"ApiKey":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ProductAvailable":false,"UserHasAccess":false,"PickupOutOfBounds":false,"DropoffOutOfBounds":false,"PickupTooSoon":false,"ReferenceNumber":"String","ErrorMessage":"String","ErrorCode":0,"Description":"String","Heading":"String","WasSuccessful":false,"ModelState":{}}