|
|
|
|
|
|
|
|
|
|
|
|
Confirmation emails and clients amending bookings themselves - The idea is that it would be nice if clients could edit/correct some details in their booking directly.
- In my old company clients had to call or email in to make ANY changes to their booking, but it would be much more efficient if they could amend bookings themselves
- However, we can't let them make changes (without us ok'ing them) if they critically change the program for the driver after it is too late.
- The key concept is that clients shouldn't be able to amend things that mess up the day (if they make last minute changes). So they can't change the destination or number of passengers (beyond the capacity of the car), or times at the last minute
- Issue is security - how do we give non-login access to edit a booking without exposing the database? Do we add a specific link to a page that is not login protected that allows changes, and only works for some fields with 24hours notice?
- At ANY time (even last minute) they should be able to:
- Add/correct phone numbers or emails
- Additional passengers names/details
- Add address within the resort/cities
- Reduce baby/child seats (not increase)
- Change passenger numbers so long as it doesn't change the price (ie the vehicle)
- Add flights number so long as it doesn't change the time (probably not allow that change)
- With more than [36] hours they should be able to change things that make a difference to the driver's program (eg destinations, dates, add trips)
- Think about the best approach for this.
- Give them a unique page (and include a password on their email?)
- Do it by buttons?
- What do you think?
Ideas - Clients can have a secure webpage (similar to the autologin) to shows each booking/transfer with the ability to edit some fields
- Security code that times out.
- Client acceptance - Give a code to clients to accept the transfer.
- Whatsapp message to clients the night before. Link to summary of transfer (not user protected)
|
|
|
|
Pending
|
| |
|
|
|
Private + bookings - We should create a page showing the Private+ bookings that can be seen externally.
- Recap: A Private+ booking is one that the original client (first) has opted to allow others to travel with them, to share the cost, so long as the times and destinations work.
- The criteria are:
- Drop-off to an airport - they have to be on flights that leave within [20 - controllable in settings] mins of each other and departing from the same Destination (eg Verbier)
- Pickup at an airport - they have to be on the exact same flight…. and obviously going to the same ‘Destination’ (eg Verbier, Chamonix etc)
- FYI, the 20min rule doesn't apply for pickup at the airport as 1 flight might be early/later and the waiting period could easily extend from 20mins to hours. But for dropoffs that doesn't apply (as we don't know about delayed flights until too late to influence the taxi journey)
- So, the page should reflect that:
- Date
- Seats taken
- Seats left (assume 7 seats in the car)
- Pickup (from(
- If airport, then flight number
- Drop-Off (to)
- Don't show the address (eg Ch de la Tinte, 5), but show ‘Verbier’
- Price for 1,2,3… people
- We will work on the formula for that.
|
|
|
|
Pending
|
| |
|
|
|
Driver's page - The driver's schedule should detail THEIR trips for the day and allow them to move forward/back to future days.
- Background colours to represent past, tomorrow, today, future
- Links to helpful notes.
- Launch the “Meet & Greet” page for airport/train pickups with the client details/affiliate logo
- Buttons to register events
- Non-transfer
- Driver wake-up / Awake
- Left home
- Transfer specific
- At pickup (including GPS location)
- ‘Found client’
- Leaving now
- Arrived
- WhatsApps/emails to clients
- Essential that this page is optimised for mobile. Should also be the login-direction for users that are Drivers
|
|
|
|
Pending
|
| |
|
|
|
Client site (public pages) - The “Book Now” page on the public site collect a basic booking (One-way or Return to the same routes - ie only 1 or 2 journeys, same combinations).
- The backend can be used for more complex ones.
- Unlike a backend booking, we should sequence the collection of data…. ie the client wants to know prices and options first, before typing in their details and payment details.
- This site does it brilliantly: https://www.mountaindropoffs.com.
- Please try making a fake booking (don't save anything, just click out before payment - they are nice people) their site.
- It is amazing and super well thought out site. Best in the business.
- This is what you will see. All on one page but with tabs to make it quick
- Step 1 is picking the dates and destinations
- Number of pax
- Destination list
- Nice details: Return date can't be before Outbound date
- Second journey defaults to the reverse of First journey
- Dates remembered if you unclick Return and back again
- Step 2 is flight data or address and then the service type/price
- If airport: flight
- if non airport: Address
- Then picking the Shared/Private/Private+ with price
- Step 3 is collecting contact details, names/emails/telephone/babies etc and luggage
- Nice way to get international codes
- Look at the extras (babies, luggage)
- Step 4 payment
- The design of this is 100% optimal (the owner is very experienced and logical) and we did exactly the same, but my old site has been changed so I can't show you that
Now all of this is the same as the booking entity and the (1 or 2) transfers in that booking. Make senses?
|
|
|
-
|
Pending
|
| |
|
|
|
“Shared” Private Transfers - Create a view of all Private transfers where the IsShared = true, sorted by Departure Destination and Arrival Destination and a flag if there is a match
- Match is when…
- Date, and To/From destination (city) is the same
- For pickups at the Airport or Train, that all customers on the same flight/train
- For dropoff at the Airport/Train, that the train/flight time are within [10] minutes of each other (where the 10 is controllable in Settings - but hard code for now)
- That the total pax combined is <8
- We should think about if we can automate the matching and we should publish the possible matches on our public website
|
|
|
-
|
Pending
|
| |
|
|
|
Client phone numbers - Including details of the tel number (country code, PhoneAnalyser - confirm if the number is “verified”)
|
|
|
|
Pending
|
| |
|
|
|
Background/rational - Taxi companies and individual taxi drivers all share the same software and I will be able to see across the various competing taxi drivers and re-allocate trips or new trips to whoever is best placed to offer them.
- In truth this is to match drivers who are going back empty with a customer who needs taking
- Do you think this makes sense that there are [20-50] taxidrivers sharing the same database -or should i clone it?
- Offer each taxi driver their ‘own’ website, so they can give their clients that site and book trips there themselves (as an incentive to use the system). Assume there are 50 ‘individual’ taxi drivers.
- Can I control 50 x CMS (CMS_Copy and CMS_Photo and Product) inputs centrally (ie each CMS page would need to be linked to a taxi driver)
- Can I point their own URL to my code (eg. www.johnstaxi.com) but where all the bookings go to AXTools?
- So in each Partner company I would include their URL link if they are adopting my system
- I think it is ok for ‘their’ link to use the same URL if that is impossible
- Intro fee for referrals
- New drivers sign up and need to send bank details, driving license and car details
- Automate the on-boarding email - in English and French
- Driver's location is tracked in their response
- Can we do this via the website or do we need an IOS/Android app?
- For all bookings the driver's time at location is tracked to prove they were on time and to whatsapp the customer
|
|
|
|
Pending
|
| |
|
|
|
Accommodation - Ability for the user to add a new address
- When selecting an affiliate, have a map page that shows all the chalets for [Bramble]
- Create a sorting table for the various scenarios (mobile/desktop, Admin/User, Filters selected)
|
|
|
-
|
Pending
|
| |
|
|
|
Ops Warnings - Build out a list of Transfers (not bookings) where certain aspects are unclear on the booking
- Accommodation unknown
- Flight unknown
- Follow-up flag marked
- Missing client emails or phone numbers
- Phone number check
- Email link to client for confirmation
|
|
|
-
|
Pending
|
| |
|
|
|
Management: XLS exports: - Transfers
- Bookings
- Driver transfers
- By Affiliate
- By Private/Private+/Shared
- Accommodations
- Revenue reporting
- Include reports by CreatedBy/CreatedOn
- Work out how to handle view the revenue comparison across seasons
- Control start date from an input in Systems Settings
- Perhaps have a single button that opens multiple versions
- Create a service that count/revenue of all private/shared transfers by Client Name (in Client list)
|
|
|
|
Pending
|
| |
|
|
|
Flight scraper Populate Kayak data - Add a button (under Actions) that ROLE_ADMIN can run to populate flights (Kayak) for all active airports serving GVA, for a period of dates.
- Use same date schedule as in the Settings
Populate GVA.CH data - On morning of T+1, run the GVA.CH scrape for ‘tomorrow’, on all flights
- This is a one-off check, mainly to confirm that the scheduled times from Kayak match the times from gva.ch. ie ScheduledDepartureTimeGvach === ScheduledArrivalTimeGvach
- Chron: Run at 8am, on T+1 (ie on Monday 8am, run Tuesday's GVA.CH Overview and Details flight scraper)
- Throughout T+0, the ‘detailed' refresh should run on “selected” individual flights, where the criteria for selection is:
- Arrivals:
- actualArrivalTime is null and
- scheduledArrivalTimeGvach is after ‘now’ - 1hour
- Departures
- actualDepartureTime is null and
- status is not cancelled
- scheduledDeparturelTimeGvach is after ‘now’ - 1hour
Code-share - Code share is no longer a relational field (linked to FlightTrips).
- The Codeshare entity has a flightNumber and the record stores the associated other flights.
- This enables mutliple flightTrips with the same flightNumber to be linked to the CodeShare
- So the determination has to be a lookup on a matching flight number
- The objective is to combine multiple entries for the same flight and return the code-share data in the flight details in the transfer bookings (so a user can search for their flight by any of the flight numbers)
- Check the scrape functionality on the "Operated by" to identify “child” flights (ie the ones that are going to be deleted)
- Establish a view of all flights where there are more than one flight departing at the same time to the same location.
- Build up a list of code-shares - question, the gva.ch notes scrape concatenates the flight numbers. Should we maintain that array or separate into individual code-share identifiers - which will allow us to identify ones to delete?)
- Write a service that identifies the duplicates and delete
|
|
|
|
Pending
|
| |
|
|
|
Public pages (non-protected) - Add links from the HomePage to the following public information - to drive more traffic to the website (will this adversely affect our performance)
- Train times (DONE)
- Flight board (DONE)
- Business Contacts (eg restaurants, shops, hotels) (DONE)
- Chalet map (DONE)
- Shuttle available seats (WIP)
- List of Private+ trips (ie those trips with free seats available)
- Enure they are optimised for mobile and desktop views
|
|
|
|
Pending
|
| |
|
|
|
Client confirmations - Launching Client Confirmations from the Booking Index…. Non editable emails (thunderbolt icon) still launch in new window DONE
- In emails, the %Total price% is not getting displayed DONE
- Sender field is at the bottom of the page. Let's put it at top, to the right of the Subject DONE
Email import - No pending emails - is that right? DONE?
New booking - Client lookup seems a lot faster, but not instant. Fair? DONE
- Transfer: Remove from Destination drop-down list any inactive destinations NOT DONE
- Prices are not rounding to the nearest CHF5 (eg 300, 305, 320, 405, 450…… not 302, 452, 519) DONE
- Pricing parameters now include 14, 20, 23, 26, 32 passenger parameter…. DONE
|
|
|
|
Pending
|
| |
|
|
|
Customer Emails Fragment - In the first section of the email, where you give the reference number (e.g. “Booking reference: VBC-1234”), create a link from the reference number, so when the client replies to the email we can launch the booking from the email
- It won't work for clients or be a security risk: For users (ie clients) without Admin/Staff access the link shouldn't work, and it should just take them to the homepage
- For office/admin, it should open the booking
- Create a new fragment for Baby/Child seats. If booking has a Baby or a Child then add the fragment to the booking. Unlike the other fragments the need for it is not a function of Type (Shared/Private) or Destinations, but rather the existence of a baby/child seat
Customer Booking Confirmation - At top include status - Confirmed/Enquiry/Cancelled
- Should include EVERYTHING in the booking that the customer gives us (not driver or actual pick up times)
- Flight details (Airline, Flight Number, and times (arrival times and dep airport for arrivals, opposite for departures)
- Chalet name, address and our link too (which should have the map once we had logged all the locations)
- Add in the Fragments any Destination specific PickUp or DropOffInstructions (Private Only - Not Shared)
- And finally add all relevant Fragments at end of Confirmation (eg Company Footer etc)
Customer Emails Template - New email template required. It will be used for Shared passengers (arrivals only -ie Uphill).
- The purpose of the email is to check that they are on the expected train, and if not to get the information as to what train they are actually on.
- Roughly, the email should say "We are expecting you on the [11:17] train from GVA to LeChable.. Please click below to confirm you made that train, or if you did not make that train, please confirm which train
- And present a list of possible other train times. That button should then reassign the client to the correct train (and pick up shuttle).
- There is a case where there is no space (or not enough space) available on the adjusted bus - and if so we need to think about the solution for that. In a sense that is not our problem as they missed their original shuttle
- Furthermore we should create a public page showing the number of seats available on the buses. (I worry that this gives competitive info away, but let's build it for now
|
|
|
|
Pending
|
| |
|
|
|
Taxi partners There are different levels of Partners - “Independent drivers” who only have 1 car and work for themselves
- Can login and accept available trips
- Larger companies with multiple cars and multiple drivers
Trips to Outsource view - Create a "Available trips”
- Understand the starting point of each driver and attempt to offer pairs of trips that start/end at their chosen venue
- But show all trips in case they have a natural offset
- Press button to accept (how do we refresh first?
|
|
|
|
Pending
|
| |
|
|
|
Accommodation: Index - Compute the number of transfers, and the value of the transfers, in the “Reporting Period”
- Create a service called “FinancialReportingService” that has two functions that compute these statistics (placeholder for now)
- TransferCountByAccommodation
- TransferValueByAccommodation
- In the Systems Settings entity add a ReportingStartDate and ReportingEndDate fields that is used in this service.
- This service will also do
- TransferCountByUser
- TransferValueByUser
Accommodation: Street map - Sizing of map looks wrong. Take an example with 2 chalets in Rue Barmete….
- There should be a maximum zoom setting
- Filters on Accommodation Index:
- City (i.e. destination)
- By “type” in a given Destination (e.g. hotel, restaurant, shop etc in Verbier)
- Map - by Affiliate (ie show all <<Bramble Ski>> properties
- Link from the Affiliates page. Or from the Resort contacts page
|
|
|
|
Pending
|
| |
|
|
|
Shuttle: Edit Screen - Remove at the bottom the SBBTrain dropdown list and the Uphill/Downhill field. DONE
- List of Transfers includes ALL trips (PT and Shared), admittedly restricted to that day. But doesn't show name of Passenger, or Address. DONE??
- When you edit a shuttle and press Save, it should go back to the Shuttle page from that shuttle (ie 26-8-2025 in this case). DONE??
|
|
|
|
Pending
|
| |
|
|
|
|
|
|
|
|
Pending
|
| |
|
|
|
Private Plus taxi - Pricing, there should be a discount for the first taker as they are taking the no-share risk.
|
|
|
-
|
Pending
|
| |
|
|
|
|