To Do List: AX Tools (Complete)


All

Priority Project #
1 AX Tools #: 18
1.01

Clients

  • Can't make entity
  • Add new fields:
    • Total PV
    • Summary data
  • Add link to their trips
    • 12month PV
    • List of bookings, with first date and PV
- Complete
1.02
  • Multi-lingual functionality:
    • Include in the CompanyDetails entity a field called ‘multilingual’ (booelan)
    • Create new entity called ‘Languages’ containing, language (English, French, German, Spanish) , flag icon file,  and abbreviation
    • Selection of flag switches language of text
  • Page count
    • Add field in the Products entity for pageCount and pageCountAdmin
    • When a page is loaded add to the pageCount (and if an Admin user add to pageCountAdmin only
Complete
1.09

Affiliates

  • if this can be done in less than 1 hours….  as it will only take 2 hours to do it manually…
  • Cycle through each of the afffiliates and extract all of the data (including the icon) and either save to a CSV or import directly into the Affiliates entity
  • Do not need to collect the following data:
    • Image file if difficult - I can collate manually (it is a 10min job to do all of them)
    • SMS recipients (this is probably stale info by now)

Accommodation

 

Resort contacts

  • Import the Resort Contacts.  
  • Need a new entity for them,,  User with ROLE_RESORT_CLIENT
  • Add a new entity ResortContact and create new record alongside new User

 

Clients

  • Extract all client info (188 pages) from this view.
  • http://alpexstage.caponica.com/controlroom/customer/list

 

Complete
1.03

Destinations

  • Add the following fields:
    • Default address (used for airports and train stations)
    • Default longitude and latitude 
    • Notes

Accommodation Street

  • Add a field “defaultLongitude” and “defaultLatitude”. 
    • This is used to guide the map function when none of the buildings on that street has a GPS location….  That will allow you to  allocate buildings to the street numbers
- Complete
1.07

Feedback on Transfer Macro

  • The time box should be a format for time (24hrs) and width should match the dates
  • Date should show the DoW (eg Sun 16 May 2025)  TODO
  • Destination
    • Should be sorted by “SortOder” and then alphabetically on "City"-  with a break before ‘20’ TODO
  • Handling Destination is a "Train Station"
    • If you change the Destination from a City to a train/airport (eg from Verbier to Martigny Train) then the From Address field should switch to  Train time/Flight 
  • When Destination is a City (eg Verbier), the Accommodation dropdown needs to contain all the information (see attached screenshot). 2 lines required for each address: 
    • Symbol to indicate the “Type”
      • ‘House’ for a Chalet
      • ‘Knife and fork’ for a Restaurant
      • ‘Office building’ for a Hotel
    • Then show the Chalet Name, Apartment  details, and then the Affiliate (in brackets)
    • Then line below should have the street and house number
  • Looking at the database entry for the Transfer:
    • PassengerName and PassengerEmail and PassengerMobile should not be inherited from the Booking.  
      • This is an over-ride should the transfer not be in the name of the Booking. So unless populated manully, it should be null
    • Trip date should be not nullable.  Time should not be nullable but have a TBD over-ride or (TBD checkbox)
    • Should we rename TripXX to TransferXX in all the fields?
    • The addressStart and addressEnd still seems to be a string field rather than a relation field related to the Accommodation entity
      • We need this to be linked because the driver will be given various info points from the Accommodation entity (eg Door Code, GPS location, Driver notes, Client notes, Associated Resort Contact).   But there neeeds to be a manual over-ride “Other” available
  • Layout of Pax Child/baby.  Try to get on 1 line

 

  • The Hide/Show extra fields
    • The Passenger Name/Email/Mobile should be here.  (These are the “over-ride ones in case the names is not the same as the Passenger details for the ”Booking" as a whole
    • Delete Button should be hidden
    • There should be a “Cancel trip flag” - which is similar to delete but retains the info for document record keeping purposes
    • Notes needs to be a bigger field
    • The timestamps can be indicated in pop-ups without expanding the section.  The user will only expand if they want to edit  - which is rare as the times are generated by the system.

 

Feedback on the Booking section (on the left)

  • When you save the booking, you should show the ID of the “Booking”.  This is the customer reference number
  • Client email and client mobile should be nullable
  • Client details should be saved in the Clients entity if unique (ie that database grows) 
  • Status should be: Confirmed/Inquiry/Cancelled  (no need for cancel booking field)
  • Booking history:  This should save the logged-user and time of creation
  • Payment link expiry:  First trip date time less 24 hours
  • Still has the word “Transfers” on the bottom left

 

 

Complete
1.04

Transfer

  • 3 buttons at the top:
    • ‘Save’ -  This updates the database but returns the user to the same screen (ie opens the Edit if new or stays on the Edit if in Edit mode)
    • ‘Discard’ - Closes the screen and doesn't save.  Prompt a "Are you sure?
    • ‘Save & Close’ - Saves the record and returns to the Bookings Index
  • Cancel transfer
    • This is essentially a new field. All the details are saved, but the transfer will disappear from (or zero costs) in any bills or from the driver's manifest
  • City- Address
    • The chalet name disappears after 2-3 seconds.   
    • The search should include the Affiliate name, so I can search for “Bramble”
  • Cancel button should be in Extras

 

- Complete
1.12

Transfers

  • The Cancel button should be a checkbox, that can be unchecked to allow the transfer to be uncancelled
  • Add a ‘Copy’ button that copies all the details of a given transfer, and does a Save-Re-Open too.     
    • This is because we are often asked to do similar trips (eg pick up the family at 8am to take to school Mon, Tues, Weds)
  • Without opening the Extras section, we should be able to see the content, if populated, in the Transfer main box, using icons and title/hover
    • For Passenger Name
    • For the Driver, show the Departed and Arrived Times via icons and the mins late/early  (see template/transfer/parts/trip_times_body.html.twig)
  • By the accommodation, if picked from the dropdown list, have a link to the accommodation/show record and also a pop-up box(es) with all the content summarised
    • Key icon for door-code
    • Warning icon if Difficult Access
    • 3 Notes fields (Driver Icon, User Icon, Office icon)
    • Map marker

Booking

  • If there are more than 1 transfer, they transfers should be ordered by Date-Time, and ordered Transfer#1, Transfer #2, Transfer #3 etc
  • Cancelled transfers should appear in the list (in order) but without a Transfer number
  • Why does the Zero Commission and Follow-Up Flag display differently?
  • Fields for notes doesn't expand when typing
  • Last edited time/user required 

Email confirmations and history

  • Under the Customer Details (below mobile) have an icon/link to customer confirmations,  It should include the count sent and a link that shows all confirmations for this booking
  • Similarly for WhatsApp messages
- Complete
1.05

Transfer

  • The number of Child and Babies should be capped at (Total Pax -1)
    • ie If the total passengers is 5, you can't have 3 children + 2 babies.   Assumption is that there is always 1 adult
  • In the booking Notes we should include ages of children.  or should we make this a new field?  (ChildAges,  BabyAges)?  As free text. 
- Complete
1.10

New Bookings (default settings)

  • Automatically add 1 transfer, with certain default assumptions.  
  • Create records in the SystemSettings entity to define the default settings.   
    • DestinationStart  (eg “GVA”)
    • DestinationEnd  (eg “VRB”)
    • Date: Following [Saturday]
    • Passenger #: 1
    • Baby:0 Child: 0 
    • Add 3 buttons on each transfer
      • Delete transfer (in hidden fields, next to cancel)
      • Copy transfer (in hidden fields). This makes an exact copy of the transfer details other than the assigned driver/vehicle and times 
        • Imagine being asked to create a series of transfers like the same pickup from chalet X to go to ski-lifts every day of the week at say 7am. Easiest way to do that is to create it once, then copy changing the day by +1 day
        • Importantly, do not copy the driver/vehicle details as these are not assigned and history is unique (ie when the driver arrrived)
      • Return trip - this reverses the To/From.  Make the date 1 week later.  Same number of passengers.  Not hidden - bottom right (could be an icon)
  • Create fields called lastSaved and savedBy  
    • (I have created them already) , that stores the time of last saved.  
    • Show time and initials in top right. of screen
      • These seem to still appear at the bottom of the booking page on the left
  • CreatedBy and CreatedOn fields  are not being saved at the moment
    • Moved to bottom of page, in light grey
Complete
1.06

Email Template

  • if the field AffiliateBooking is set to “Direct to Consumer”, then:
    • Set specificAffiliate to null
    • Set aggregateComfirmation to "Single Booking"
      • and hide these 2 fields
- Complete
1.08

Feedback on Transfer Macro

  • Date should show the DoW (eg Sun 16 May 2025) 
  • Destinations
    • Should be sorted by “SortOder” and then alphabetically on "City"-  with a break before ‘20’ (or different colour)  (this is because the first 5 or 6 are the common ones, and the others are rare) 
    • Add buttons change order, but keep 20 as 20
- Complete
1.11

Transfers

  • Add 3 new fields – 1) “Price Adjustment” (float) and 2) “isSharedAllowed” (boolean) and “sharedTransfers” (relation linked to Transfer Entity – ManyToMany).
  1. Price Adjustment:  Each transfer will have a price, which will be composed of the “standard price” plus the possibility of a manual ‘adjustment’ (which most of the time is zero).  The adjustment might be positive or negative and for example might be because the customer wants something special (eg snacks/drinks in the car, or a stopover en route) etc.   The “standard price” will be calculated from the destination combination (eg VRB to GVA), the number of passengers and potentially the time of day, and we will designed an entity to capture that.   And the Price Adjustment is a manual input.   The standard price is  computed dynamically – but I want to save it in case the formula changes as we can’t change a price already given (hence a field is required. Make sense?
  2. IsSharedAllowed.  The concept I want to introduce here is that I want to offer people the ability to share a taxi. Typically the vehicles will take 7 people, so if you are a family of 4, you have 3 spare seats.  I will only allow a share if the others are on the same flight/train (if inbound – as sometimes flights are late and don’t want any additional waiting) or within [10] mins for a flight/train departure.   So if a client says yes to “isSharedAllowed” we will try to combine and split the costs.
    1. To do that we might need  to link transfers together using the sharedTransfers  field which will contain which transfers are being combined  (typically 2 clients (ie 2 transfers) but could be more, eg   4 passengers +2 passengers +1 passenger) And then we can assign all [3] transfers to the same vehicle/driver….
  3. For the train pickup service that is the same concept – we will have a bus (say 13 seats) that can take various combinations of passengers to fill it (could be 13 single travellers).  That service will take people from LeChable train to their chalets in Verbier.    Does that make sense?

 

Complete

Loading…
Loading the web debug toolbar…
Attempt #