Schiphol Shop & Collect
The S&C interface manages the Shop & Collect purchases at Schiphol Airport. It offers the following functionality:
- Sending confirmation SMS to shopper
- Sending reminder SMS to shopper (to not forget to collect the purchase)
- Announcing the bag to Logibag lockers
- Sending order for valuable packets to deliver
The interface supports 3 methods for the POS:
- Register order
This will create an order and return the order id. This method must be followed by a confirmation or cancellation. If a mobile number was specified it will send an SMS directly to confirm that the purchase was registered.
- Confirm order
This method must be called to confirm that the shopper has paid.
-
Cancel order
This method is used to cancel an unconfirmed order, or in case the purchase was void or refunded.
Getting started
The WSDL and URL’s for test and production are available on request.
Deliveries:
- Security token
- Shop & collect bitmap for the receipt
Webservice methods
Register order
Registers the order and claims the order id. When mobileNumber
is provided and sendNotificationSms
is set to “true” a confirmation SMS is sent to mobileNumber
containing the order id and return date of the customer. The shopper then also receives a reminder SMS the day before returning. If valuable
is set to “true”, the package is marked as valuable and the warehouse will be notified by email or SMS in the morning of the pickup date.
/// <param name="securityToken">Client token used for authorization</param>
/// <param name="companyId">The company id.</param>
/// <param name="shopId">The shop id.</param>
/// <param name="posId">The pos id.</param>
/// <param name="mobileNumber">The customer's mobile number. If set, after the order is created, customer receives an register order information sms</param>
/// <param name="customerPickupDate">The date when customer picks upa the package</param>
/// <param name="sendNotificationSms">If set to true, customer receives a notification sms one day before pick up at 12:00</param>
/// <param name="valuable">if set to true, package is marked as valuable and notification email or sms is sent to warehouse on the pickup day approx at 7:00 in the morning</param>
/// <param name="reference">Barcode of the package/order (can be set later in confirm method)</param>
/// <param name="barcode1">Barcode of the package/order (can be set later in confirm method)</param>
/// <param name="barcode2">Customer barcode (can be set later in confirm method)</param>
/// <returns></returns>
ClaimOrderServiceResult RegisterOrderId(string securityToken, int companyId, int shopId, int posId, string mobileNumber, DateTime customerPickupDate, bool sendNotificationSms, bool valuable, string reference, string barcode1, string barcode2);
Confirm order
Confirms the registered order, the moment the sale is paid.
///<param name="securityToken">Client token used for authorization</param>
/// <param name="orderId">The order id</param>
/// <param name="ticketTransactionId">Ticket transacation id (unique id)</param>
/// <param name="ticketDate">Transaction datetime</param>
/// <param name="ticketNumber">Ticket number</param>
/// <param name="ticketData">The ticket data (serialized ticket data or receipt text converted to byte array).</param>
/// <param name="valuable">if set to true, package is marked as valuable and notification email or sms is sent to warehouse on the pickup day approx at 7:00 in the morning</param>
/// <param name="reference">Barcode of the package/order</param>
/// <param name="barcode1">Barcode of the package/order</param>
/// <param name="barcode2">Customer barcode</param>
/// <returns></returns>
ServiceResult ConfirmOrder(string securityToken, int orderId, int ticketTransactionId, DateTime ticketDate, int ticketNumber, byte[] ticketData, bool valuable, string reference, string barcode1, string barcode2);
Cancel order
The cancel order method is used to either cancel a registration, or cancel a booked order. If a mobile number was specified the shopper will receive a message that the order was cancelled.
///<param name="securityToken">Client token used for authorization</param>
/// <param name="orderId">The order id.</param>
/// <returns></returns>
ServiceResult CancelOrder(string securityToken, int orderId);
Contract objects returned by the webservice
ClaimOrderServiceResult
Returned by register order method
Field name | Type | Description |
---|---|---|
Success | Boolean | Indicates if operation was successful |
ErrorCode | Integer | Error code number (see error codes table) |
ErrorMessage | String | Error message in english |
ClaimedOrderId | Integer | Id of the order created in the system, later used in confirm or cancel methods |
SmsSent | Boolean | Indicates if shopper sms was sent |
ServiceResult
Field name | Type | Description |
---|---|---|
Success | Boolean | Indicates if operation was successful |
ErrorCode | Integer | Error code number (see error codes table) |
ErrorMessage | String | Error message in english |
Error codes
0 | No error |
---|---|
1 | Error, more details in the ErrorMessage |
91 | Not all messages could be delivered |
92 | Password does not match |
93 | Given date is incorrect |
94 | Message is larger than 160 characters |
95 | Senderid is incorrect |
96 | There are empty parameters or fields |
97 | Onvoldoende sms-tegoed |
98 | Domain from which the message is sent does not match with ‘beveiliging domein’ |
99 | Text message could not be delivered |
100 | Order is received correctly and will be processed |
101 | Order is not accepted |