Crewshop Schiphol

The crewshop at Schiphol is a shop were crew (pilots, steward) can buy all kind of product like tobacco, perfume, alcohol and cosmetics. The shop is located in the flight center at Schiphol. B&S took ownership in 2014 from AviaPartner.

For the crewshop Bovertis developed a few components:

  • Crewshop handling in Resolut POS 2

  • Server component with website

  • Integration in Resolut BOS (check)

The crewshop at Schiphol provides two type of sales:

  • products that can be bought in the shop and taken immediately

  • product that can be bought but are delivered from the warehouse

When the purchase is started, the cashier must select to start a warehouse sale or shop sale. Warehouse sales are booked on a flight number, shop sales not. It is not allowed to mix sales, responsibility for the cashier.

The warehouse services should process all tickets (sales), if there is not PosTicketAviaPartnerSale object on it, do nothing.

If the object is there, we should create or update the order for this specific flight.

The warehouse service should also track opened orders (flights) and close them one hour (configurable) before departure. The picking order is printed.​

Technical info​

​The POS is using the AirportCrewShopPlugin which can be found in $/ResolutPOS/AddOns/ResolutV2Plugins.

The plugin is calling the CrewShopWebService, in fact GetAllFlightOrders, CloseFlightOrder and OpenFlightOrders WS methods.​

Codebase​

​History

The crewshop at Schiphol changed owner from Avia partner to B&S.

These are the changes for Resolut POS:

the plugin is using a webservice to post crew sales to the server

use parameter CrewShopPlugin_url to set the endpoint on the server (test or prod)

the parameters AviaBackoffice are changed to CrewshopBackoffice

Set parameter AllowNoFlightSales to 1, this allows sales without a boarding card.

​Stocks

The POS can check and show the stock levels of all products on the receipt. The idea is to do this in real time (background), but it is informal only. Theoretically it is possible stock is 0 (or <0) while there is enough stock in the warehouse.

POS

(Shops sales are not in scope for the crewshop)

When a warehouse sale is started, the POS will check the flight data on the server (not in the local database) and check if the flight is not closed (=does not exists or is open). If not closed the user can proceed.

When the transaction is paid the sale is finalized. We have two options:

a- a plugin will update the stocks in the table, the server will poll for new tickets

b- we pass the ticket to a webservice method and the webservice will update the stocks and open/create the flight

Network

The server is located in the datacenter in Dordrecht, Eindhoven and Schiphol Crewshop are in a VPN LAN.

The users are working on a RDP in Amsterdam on the server in Dordrecht, they can print from RDP to the local printers. So we can print from the server in Dordrecht to a printer on Schiphol.

Remark

  • When the print fails we should panic otherwise the order will not be delivered.

  • Remind that the crewshop is just a shop within BOS (67)

Parameters

ParameterName Description
​CrewshopSchiphol = 1 ​This enables the crewshop start screen (flight number input)
​CrewShopBackofficeServer
CrewShopBackofficeUser
CrewShopBackofficePassword
CrewShopBackofficeDatabase ​These parameters are used to contact the stock information
CrewShopStockQuery Overrides the default stock query
AllowNoFlightSales = 1 Allows sales without entering a flight number (shop sale)
CrewShopPlugin_URL
TEST SK:
http://172.20.16.92:9098/CrewShopWebService
TEST B&S:
http://drdbovertistest.bs-international.nl:8080/CrewShopWebService AirportCrewShopPlugin.dll is needed in C:\POS\Plugins folder.Parameter for CrewShop web service must be set (web service is used for loading of flight orders, sending crew sale tickets, and closing/reopening of flight orders).Sample parameter value:<parameter name=“CrewShopPlugin_URL”>http://172.20.16.92:9098/CrewShopWebService</parameter>

Commands

AppCrewshopStockView - Salesscreen, shows stock information

Crew Shop Service - installation & configuration

To install the windows service for Crew Shop you must run this command as Administrator: CrewShopService.exe install. It will install the service.

Then you must allow configured ports (on which web service / web portal will be self-hosted). See below: sample configuration…

Configure all the required parameters (configuration file: CrewShopService.exe.config).

Run the service (from: services.msc)

Sample configuration file (B&S test)

​CrewShopService_BS_configuration.xml

Configuration file explained:
AP2 fig1

Allow ports on which WS/web will be self-hosted, i.e. 8080, 9090 or different ports if these are not available.

B&S network - TEST environment

To access B&S TEST environment you must login to their VPN (use Internet Explorer).

  1. navigate to https://webportal.bs-gg.com and login as User: bovertis_admin Passwd: B0v3rt1s
    AP2 fig2

  2. Select Bovertis Test server and login as User: blijdorp\bovertis_admin AP2 fig3

On the server go to D:\APPLICATIONS\ResolutBosSuite\CrewShopService where CrewShopSvc TEST is installed.

Logs - folder for storing logs

Stock - folder which is now configured in config. file to load Stock.CSV from this folder, later stock will be loaded from some file share so this folder will not be needed

Tickets - when ticket is sent from POS plugin to CrewShopWebService it is stored in this folder, after processing (creating flight orders from PosTicket) it is deleted

Web\Root\Reports - reports are generated & printed automatically (for closed orders), they are stored in this folder so that they are accessible from web portal (see sample report below).

Web\Root - web portal files & folders (css/scripts/html) are here

AP2 fig4

To copy some files to B&S server you need to copy it to Bovertis FTP first (ftp://support.bovertis.nl, \BOV-SUPPORT), User: PosNet AP2 fig5

Web portal (first prototype)

There is also web portal deployed together with web service (self-hosted by CrewShopService) for displaying dashboard with upcoming flights, opened/closed orders & reporting…

Web portal SK:

http://172.20.16.92:9099/

Web portal B&S:

http://drdbovertistest.bs-international.nl:9090/

Dashboard

It will display order details (new page), print order will display generated report, close order will close the order from web portal.
AP2 fig6

Flights - displaying next 10 upcoming flights on the current day
AP2 fig7

Orders

  • opened flight orders (not closed yet - you can do crew sales on these flights)

  • closed flight orders (crew sale should not be possible - only when order is re-opened). Reports are generated automatically for closed orders.
    AP2 fig8

Reports - you can display generated PDF report & print it from the browser.
AP2 fig9

Generated report - after clicking “Show PDF” report will be displayed in the browser from where it can be printed.

Later there will be automatic printing implemented to configured printer & automatic e-mailing of generated reports to specified e-mail addresses.

AP2 fig10