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