Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Shuttle bookings may be provided in XLS and we will need to map the fields in the XLS to import code.

The import code needs to then process the fields in order to create bookings.

The assumption is that each row in the XLS is another booking

Story

Want the ability to map import sheets with all booking information

Spreadsheets from customers have different columns > need to build import mapping / save / use

Changes

Shuttle Bookings > Booking Import Mappings > NEW SCREEN (copy from Admin > Sales > Marketplace Order Upload Mapping)

  1. Customer gets selected in top of screen (similar to order upload mapping)

  2. Saved mapping is listed on RHS (similar to order upload mapping)

    1. “Data Type” Columns listed in table below

    2. Some data type columns also require lookups saved per customer

      1. ie data expected and it’s meaning - eg the word “Arrival” indicates direction of travel

...

Spreadsheet column

...

Data Type

...

Where it needs to end up on Shuttle Booking Screen

...

Other things that May happen from this

...

Date of Travel (date)

...

Date of Travel dd/mm/yy or dd/mm/yyyy or dd/mm

...

Date of Travel

...

Flight number (text)

...

Flight Number (Text)

...

Flight number

...

Implies Direction of Travel

Implies Destination and Terminal

Implies Flight time

...

Flight Time (time)

...

Flight Time (hh:mm)

...

Flight time

...

Direction of Travel (lookup list)

...

Direction of travel lookup list.

...

Direction of travel

...

Need a list of possible data passed by the customer and the resulting meaning. Eg “outbound” = From Destination. etc

...

na

...

Direction from flight number

...

Direction of travel

...

Infer from flight number history + lookup table

...

na

...

Destination and Terminal from flight number

...

Destination and Terminal

...

Need to get this by looking into system history (last 3 bookings with this flight number)

...

Destination and Terminal (lookup list)

...

Destination and Terminal

...

Need a list of possible data passed by the customer and the resulting meaning. eg: sydney domestic = Domestic Terminal

...

PAX (number)

...

Travellers

...

na

...

PAX default (number)

...

Travellers

...

Default value

...

Extra luggage (number)

...

extra luggage

...

Passenger name (text)

...

Passenger Full Name

...

Passenger name

...

Fname (text)

...

Passenger First Name

...

Passenger name First part

...

combine first and last name to single field

...

Lname (text)

...

Passenger Last Name

...

Passenger name end part

...

combine first and last name to single field

...

Passenger email (text)

...

Passenger Email

...

booking email

...

passenger phone (text)

...

Passenger Phone

...

booking phone

...

Address in single cell (text)

...

Full Address

...

Multiple columns (address, post code, suburb)

...

Decompose address into line 1,2, suburb, postcode

...

Address line 1 (text)

...

Address1

...

Build Address

...

Address line 2 (text)

...

Address2

...

Build Address

...

address post code (text)

...

Postcode

...

Build Address

...

find in suburb / postcode list

...

address suburb (text)

...

Suburb

...

Build Address

...

find in suburb / postcode list

...

Their reference (text)

...

External Reference

...

Their Reference

...

Hotel Name (text)

...

Hotel Name

...

Address

...

Find Hotel name and compare with customer and with hotels in the system

...

na

...

Use Customer Address

...

Address

...

Choose from default customer addresses

Logical Flow

Table of Contents

Overview

When customers send bookings in xls they can be imported to the system

Using the importing process to create bookings

  1. Open the shuttle booking screen

  2. Select the Booking Entity

    1. Note - The cash debtor entity allows bookings to be imported across Booking Entitities

      1. Must have a Booking Entity column mapped

      2. If the Hotel column mapping does NOT find a hotel

        1. Then it will look for a suburb / postcode combination in the Hotel column

          1. setting the booking as a private address booking if found.

  3. Drag and drop the XLS on the screen

  4. Edit > Import “name” > Import from Mapped XLS file

    1. If any required columns do not exist

      1. NO bookings will be created

      2. The user will be notified of the columns missing

  5. All lines that are successful will create bookings

  6. All lines that are not successful will not create bookings > a yellow note with a list of all bookings that failed will be provided

    1. user will need to either

      1. Fix these bookings in the sheet > remove successful bookings > reupload

      2. or enter manually

Mapping the columns in the XLS sheet

Shuttle bookings may be provided in XLS so map the xls columns in the mapping screen.

  1. Booking Entities must be Inbound Delegates (flagged on the Debtor)

    1. Booking entities typically have collected money for the booking and must later pay for it.

  2. Hotels will typically use their address for all bookings > so will not provide addresses

    1. Tick use inbound delegate address

  3. Booking Websites have agreements with different booking entities - this requires a partnership link if addresses are not set

    1. Addresses may be inbound delegate partner address

  4. Hotel column

    1. Looks for an exact match on the hotel name (fuzzy not possible)

    2. if none found - will look for a suburb / postcode combination > if found will set the booking as to or from a private address

Cash debtor is a special mapping that allows imports across multiple booking entities.

  1. Booking entity is a required column

Partnerships

When a booking entity takes bookings on behalf of another entity - they are a partner. Example a travel agency that handles all the bookings for a hotel.

The Travel Agency is the inbound delegate that will pay for the booking - however the address comes from the linked Partner Address

...

Logical Flow

This is how the system uses the data provided

  1. Travel Date provided (is mandatory)

    1. Date is today or in the future

  2. Flight time

  3. Flight number provided

    1. Yes

      1. Infer other fields > by looking at shuttle booking history (

...

      1. most common in last 180 days)

        1. Destination

        2. Direction of Travel

        3. Flight Time (only if flight time was NOT provided)

    1. No

      1. Destination must be provided

        1. compare with lookup table for this customer

      2. Terminal must be provided

...

...

no - default terminal setting

      1. Flight time must be provided

      2. Direction of Travel must be provided

  1. Will need a lookup table that converts text provided to direction

  1. PAX

    1. if not provided then use default value (1)

      1. Children will be added to Adults if separate columns

  2. Excess Bags

    1. Only if provided

  3. Passenger name options

    1. Single field

    2. combine Fname / Lname fields

  4. Passenger phone

...

  1. passenger email

...

  1. Address

    1. May be provided line by line

    2. May be provided in a single field > decompose

    3. Hotel name may be provided

      1. Look up in customer name fields (all customers) > use address found

    4. May not be provided = use customer address on the booking

  2. External Reference

    1. May not be provided

  3. Inbound Delegate company

...

Shuttle Booking > Shuttle Booking > New fields

  1. Has Problem Flag - editable

  2. Problem Text - all data originally imported

Shuttle booking > create booking > enter flight number > update booking details:

Look for flight number on previous bookings

...

  1. from

...

  1. warn user if last 3 were different in some way (indicate differences)

...

User can over-write any of the fields involved

  1. Warn user if found data different to booking data

Using the upload

...

  1. Booking

...

  1. Entity

...

  1. Check all columns identified in the mapping exist

    1. if not - yellow note indicates missing mappings (not found) AND that import cannot proceed until headings/mapping fixed

  2. If all mappings exist > create bookings

    1. Flag any problems found

    2. Flag all bookings with no problem with the problem “Booking to be reviewed” if import has all bookings to be flagged as a problem.

Note that

...

  1. Pickup time may be provided