1 |
AX Tools
|
#: 18
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.24
|
|
|
Trips to Outsource view - Outsource scrape is incomplete
- Time
- Arrival sddress
- Notes
- Test throughly
- Create “Partner view”
- Future view, Past view (not the default)
- Press button to accept
- Email/WhatsApp to advise change
- Trip count on the day
- Shows all trips, accepted or not and assigns a driver (from their list, greying out but not restricting those already signed up)
|
|
|
|
Pending
|
|
|
|
|
1.25
|
|
|
Partner Driver view - Export drops the ‘+’ on the phone number?
|
|
|
-
|
Pending
|
|
|
|
|
1.28
|
|
|
Business model - Intro fee for referrals
- New drivers sign up and need to send bank details, driving license and car details. Email and mobile
- For last min bookings, the driver's location is tracked in their response
- For all bookings the driver's time at location is tracked to proove they were on time and to whatsapp the customer
Button that shows location when accepting last min bookings.
|
|
|
-
|
Pending
|
|
|
|
|
1.23
|
|
|
Employees - Create view of birthdays (email me the day before)
- Add an address database
- Display of the + sign should be inline. Add hovers to the forms
- Ability to send an annonce request at a click of a button
- WhatsApp Yes/No can't be blank
Taxi companies - Email invite button and date sent
- Last logged in timestamp
|
|
|
|
Pending
|
|
|
|
|
1.19
|
|
|
SBB trains - Email a range of times for the day
- Change title a bit
|
|
|
-
|
Pending
|
|
|
|
|
1.30
|
|
|
Private Outsourcing - Grid of prices.
- Show grid of main combination with list of vehicles that the company has
- Show a list of prices by provider (by price, by rank)
|
|
|
-
|
Pending
|
|
|
|
|
1.32
|
|
|
Contacts - All – shouldn’t include the Employees (export already there)
|
|
|
|
Pending
|
|
|
|
|
1.01
|
|
|
SBB - Fix SBB scrape (SBB changed the design of their page)
|
|
|
-
|
Pending
|
|
|
|
|
1.20
|
|
|
Email received into the mailbox - Ability to import in an email into a Booking.
- Populates the “EmailImport” field with the content
- Popluates Client-email from the sentFrom field of the email
- Will need to save in the website the email login and password and the directory (i.e. "_Taxi Bookings To Be Uploaded”) to look into.
- When the import is done, it moves the email to a new directory (i.e. "_Taxi Bookings Uploaded”)
|
|
|
|
Pending
|
|
|
|
|
1.11
|
|
|
Transfers - Ops warnings:
- Accommodation unknown
- Flight unknown
- Followup flag
|
|
|
|
Pending
|
|
|
|
|
1.21
|
|
|
Taxi partners There are different levels of Partners - “Independent drivers” who only have 1 car and work for themselves
- Either log into the system and run their business through it or
- Just accept incoming requests
- Larger companies with multiple cars and multiple drivers
- Can either login to the system and run their business from it or
- Just accept trips ad hoc
|
|
|
|
Pending
|
|
|
|
|
1.26
|
|
|
Taxi site - Track the history of the flights to build up a picture as to the on-going schedule
- Email Hermes to see if they will send us the scheduled flights
|
|
|
|
Pending
|
|
|
|
|
1.22
|
|
|
Client acceptance - Give a code to clients to accept the transfer.
|
|
|
-
|
Pending
|
|
|
|
|
1.18
|
|
|
Is it possible to scrape locations from an Item in FindMy in Apple. So:you can see the location in the app but also on the iCloud site.
|
|
|
-
|
Pending
|
|
|
|
|
1.30
|
|
|
Transfer entity - Type, PassengerCount etc doesn't worl
- Recap: a “transfer” is a trip. A “booking” is a collection of transfers
Taxi Partner Companies. - These are taxis companies that we work with to allocate trip to.
- To Do:
- Build an export function to CSV and an Import function from a CSV (as I have a list of taxi companies in outlook)
- Taxi Compnay's “Show Prices” is not working
- http://localhost:8000/partnerprices/index/John%27s%20taxi%20Compnay
SBB train times - This tries to scrape from www.sbb.ch the train times for the next 4 or 5 days. Routes that are interesting are Martigny to Geneva Airport or LeChable to Martigny or LeChable to Geneva Airport
- The routes are saved in another entity (TrainRoutes) and the times/dates are in the entity SbbTrainTimes
|
|
|
|
Pending
|
|
|
|
|
1.17
|
|
|
Accommodation: Index - Two extra columns have been added to the Accommodation Index view, that will show the number of transfers and the value of the transfers taken 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
|
|
|
|
|
1.31
|
|
|
Background/rational - My idea is that various taxi companies and individual taxidrivers 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?
- So I want to 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)
- So let's say there are 50 drivers.
- Can I control 50 x CMS inputs centrally (ie each CMS page would need to be linked to a taxi driver)
- Can I point their own website to my code (eg. www.johnstaxi.com) if they already have a URL?
- So in each Partner company I would include theirwebsite link if they are adopting my system
- A lower standard is that they can just see the trips and can bid on them (and manage them themselves).
|
|
|
-
|
Pending
|
|
|
|
|
1.27
|
|
|
Affiliates - Index.html
- For the Resort Contacts (Staff) column, I have a link to the Resort Contacts index file and the count of the number of staff. A popup showing the names of the staff would be nice.
- Same for Chalets - currently shows the number of chalets and a link to the Accommodation list. A popup would be terrific
- Editing
- The email recipients should show the list of employees (ie Resort Contacts) for that affiliate in the dropdown list.
- Recall the Resort Contact is just a reference to a User (ie links a User ID to an Affiliate ID)
- Add a + button to add a new Resort Contact for that Affiliate
- In the index, show the recipient names and email in popup
- Sign
- The sign is the file used as a background on the driver's iPads when collecting the client from the airport. So it will have the hotel/chalet logo etc and on top of it it will show the client name.
- Check that when you save a sign document that the input field no longer shows, there is a default button and it is shown in a thumbnail in the index view
|
|
|
-
|
Pending
|
|
|
|
|
1.16
|
|
|
Resort Contacts - In resort contact entity, add a field called “defaultAccommodation” , This is a relation field, referencing the Accommodation entity. And restricted to the list of the accommodations for the resort contact's relevant affiliate
- Create a view (launched from the Affiliates index - I have created the button created already - see “Host/Chalet” under Assignments) that should create a view a given affiliate, the list of the affiliate's accommodations and the Resort contacts linked to each accommodation.
- This may need to be shuffled around over time., so also show the Resort Contacts that are ‘orphans’ (ie no associated Accommodation)
- Notes an accommodation may have more than one Resort Contact assigned to it
- Make this easily editable - question, can we drag a resort contact onto an accommodation?
- It may be we need to make a time dimension to this, but let's cross that bridge later
|
|
|
|
Pending
|
|
|
|
|
1.14
|
|
|
Transfers Destination is a City - If the Destintaion IS a city (for either the start or end of the transfer), we need to show the dropdown list of accommodations to know where to pickup or drop off. Include the possibility of "Other"
- Save the accommodation id if picked from the dropdown (ie not ‘other’)
- If Other, save the input in a new field
- We will need 2 fields as we may have new locations in both the pickup and dropoff . Create two new fields
- addressStartOverRide
- addressEndOverRide
- Note: if the Destination is NOT a city (eg airport or train station), then do not show the address field at all (as there is effectively only 1 address)
Destination is a Train Station - If the Destination is a Train station, ask for train time and perhaps the origin/destination location. So the 2 fields are
- trainTime (time)
- trainOriginOrDestination (string)
- Depending on whether Transfer picks up at Martigny or drop offs, we can work out the direction of the journey and check the times. But as far as capturing data- these are the 2 fields
Destination is an Airport (eg GVA) - We need to know the flight details (time, airline, city of origin or end) for both for (1) pickups from at airport (ie where the transfer starts at GVA) and (2) drop-offs at the airport (ie where the transfer ends at GVA)
- However it is the case that only one of the Start or End is an airport - (ignoring the case where we are picking someone up at one airport and driving them to a second airport to take another flight - that never happens)
- So while we need to capture the details of the flight (airline, flight number, destination/origin city, time) if not found in the flight database. we can work out if it is a departure or arrival from whether the Transfer is picking up or dropping off at the airport. So in the Transfer Entity you can use the same fields for Over-rides on the flights
- flightOverRideAirline
- flightOverRideFlightNumber
- flightOverRideFlightTime
- flightOverRideFlightCity
|
|
|
|
Pending
|
|
|
|
|
1.15
|
|
|
Accommodation - Mark any accommodation that is the default chalet for an affiliate with an asterisk
- Create a transfer list by accommodation. add a button in the accommodation to take you to those transfers by accommodation
- In the Delete All button, don't delete accommodations where they are:
- A default accommodation
- With live/historic transfers associated
-
|
|
|
-
|
Pending
|
|
|
|
|
1.08
|
|
|
- AccommodationStreet
- Add a GPS location for each AccommodationStreet
- Destinations
- For each Destination add an address.
- Show in DriverPad- link to Google maps?
- Export and import function
- Transfers
- Show the extras below the below.
- Use icons to display the outcomes on the main screen pre expansion (ie indicates that an expansion is required)
- Management
- Create download of transfers and bookings
- Revenue reporting
- Flights
- Develop a flight page for each day which shows a list of all transfers on them.
- Shared Transfers
- Meet the train in LeChable
- Ops warnings
- Driver pad
- Button to WhatsApp passengers
- Ask ChatGPT about AirTags and non apple versions
|
|
|
|
Pending
|
|
|
|
|
1.12
|
|
|
Revenue reporting - Include reports by CreatedBy
- Add a field to Transfers for CreatedBy and CreatedOn
- Work out how to handle view the revenue comparison across seasons
- Add totals
- Sort By Affiliate or Private/Shared
- Control start date from an input in Systems Settings
- Control # period from an input in Systems Setting
- 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
|
|
|
|
|
1.10
|
|
|
Confirmation pages - How to handle %Source% %Transfer% and %footer% in the email confirms
- Including details of the tel number (country code, is checked)
- Include pin for accommodations that are known in the accommodation entity?
- Generate error-chasing emails where corrections can be made without a login
- Perhaps flag bookings where this has been triggered (with a sunset clause as a security measure or to avoid last minute alterations).
- Eg add/correct phone numbers o Add/correct babies o Add/correct flights •
- Footer should include a fragment describing the baby and booster seats.
|
|
|
|
Pending
|
|
|
|
|
1.02
|
|
|
Driver Pad - Derived from Driver specific list of transfers and date
- Drivers need to be users to be able to login
- Coloured coded background to represent past, tomorrow, today, future
- Meet and Greet screen created from the driverPad
- Send location? Snail Locations
- Should I save the email fragments in the Destination?
Other functionality - Driver wake-up
- WhatsApp and call?
- Shared service
- Train shuttle. Enter flight time and it computes the correct train depature
|
|
|
-
|
Pending
|
|
|
|
|
1.07
|
|
|
“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
|
|
|
|
|
1.06
|
|
|
Transfer_macro - When you have a flight, display the flight details so easy on the eye - presumably this can be der0vied from the flight id:
- Flight #/airline
- To/From
- Either the Scheduled Departure (for depatures) or Arrival (for Arrivals) time
- Updated time (ie delays etc)
- In the Transfer_macro, when spooling through the flights, only show the flights where the Date of the flight equals the date of the trip and the ‘direction’ is correct, namely:
- Airport pickups: (ie meeting clients at the airport and taking to the resort- i.e. destinationStart = Airport) - then we are meeting a flight arrival
- If transfer.destinationStart = 'GVA", then look for flightTrips where flightTrip.arrivalAirport = destinationStart
- Airport dropoffs: (ie depositing clients at the airport and starting from the resort- i.e. destinationEnd = Airport) - then we are meeting a flight departure
- If transfer.destinationEnd = 'GVA", then look for flightTrips where flightTrip.departureAirport = destinationEnd
- Compute the pickup time derived from flight or train times
- For pickups it is the flight/train arrival time plus the baggage time (eg 20mins for flights, 2mins for trains)
- For drop-offs (going to the airport), you have to work backwards from take flight time…. less commute time (see routes entity) and the check-in time allowance ,
- System Settings contain the airport and train station delays
|
|
|
|
Pending
|
|
|
|
|
1.04
|
|
|
Shuttle from LeChable to Verbier (meeting the train) - Need to establish a schedule of transfers, to match the train times
Prices - Need to establish a pricing structure (for Shared and PTs) - PT : For a given route, establish a base price passenger, based off driving time and if home base(s), and number of passengers.
- Set parameters in SystemSettings:
- Establish rounding to nearest CHF 10
- Shared : Base price for 1-10 passengers. Drop off premium for difficult locations. Ask if they know exact location of chalet (not for hotels)
- Idea: Add drop off/pickup locations around town?
-
- For Shared and Privates separately…. For all routes,
- Apply a multiple of extra 1,2,3….10 passengers - - For Shared and Private
- Determine a multiple for (i) Early (ii) late
- By weekday
- Special days
technically:- - Establish an entity “PricingByPassengerNumber”
- Shared/PT/PT+
- PT multiple
- ST multiple
- Establish an entity “PricingHighVolumeDays”
- Date
- PT multiple
- ST multiple
- Establish an entity “PricingTimeAndDoWFactor”
- Priority
- DoW (including All)
- Time - Before or
- Time - After
|
|
|
|
Pending
|
|
|
|
|
1.13
|
|
|
Pricing Private transfer In the settings create a formula for the derivation of a price from a Entity: HighVolume Days Settings Early start time/premium Late finish time/premium Weekend Shared priceP1, P2, P3, P4, P5, P6, P7, P8
|
|
|
|
Pending
|
|
|
|
|
1.05
|
|
|
Flights - Scrape buttons: separate them into the “Scrape overview” and “Detailed scrape”
- Detailed scrape should run once on T+1 to capture the Scheduled Departure TimeGVACH) , and then on the day according to whether a flight is in need of a scrape
- Check: Once we have the flights loaded from Kayak that this works ok
- Then on T+0, the detailed refresh should run on “selected” individual flights, where the criteria for selection is:
- actualDepartureTime is null
- scheduledDepartureTimeGvach is after ‘now’ - 30mins
- Time since last refresh is more than 15mins
Current detailed scrape - It should only ever be populating the
- scheduledDepartureTime - No, this is from Kayak
- scheduledDepartureTimeGvach - Yes, initially from Gvach Detailed scrape (T+1)
- updatedDepartureTimeGvach - If different from scheduledDepartureTimeGvach
- scheduledArrivalTime - No this
- actualDepartureTime - Yes from detailed scrape
- actualArrivalTime - Yes from detailed scrape
- notesGvaCh - This contains the CodeShare data
Code-share - Code share is no longer a relational field (linked to FlightTrips) as it is a function of the FlightNumber (and multiple FlightTrips can have the same FlightNumber).
- So the determination has to be a lookup on a matching flight number
|
|
|
-
|
Pending
|
|
|
|
|
1.09
|
|
|
Exports/Imports - Improve the csv to an xls
|
|
|
|
Pending
|
|
|
|
|
1.03
|
|
|
Flight scraper - When to refresh using the detailed (flight by flight) code. - T+1.
- All flights. Once off check, mainly to get the scheduled times (ScheduledDepartureTimeGvach and ScheduledArrivalTimeGvach). Apply once.
- Run at 8am, for the next day. In other words, on Monday at 8am, run for Tuesday's flights
- T+0 Departures
- Not took off
- Scheduled (gvach) departure time
|
|
|
|
Pending
|
|
|
|
|
|
2 |
Payroll
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.02
|
|
|
Response from Website Inquiry Contact Form process (in Payroll Project) - As in ATS, the process of submitting an inquiring will create a new User. Ensure that the role of that new user include ROLE_EMPLOYER
- New Employers can choose the services they want to avail themselves of
- Monthly payroll
- Employment contract negotiations
- Health insurance set-up
- Employee permits (including managing capturing and checking the data from the employees)
- Employee admin (housing, transport, training)
- Ski hire for the season
- Use the Product entity to control the text for each service (including pricing)
- Check box for each Product that each Employer wants to take up
- When a User logs in, if they are ROLE_EMPLOYER but do not have an associated Employer details set up, it will show a page designed to walk them through setting up an Employer.
- Employer page should include a question as to what services they would like to use. (See above)
- If an Employer has been set up, it will direct them to their own dashboard page with their Employer(s) (likely 1 but can cater for others) with the links to their various pages with some sort of summary info.
- If a a ROLE_EMPLOYEE or ROLE_USER, then design a dashboard page for an Employee
- Access to their personal details
- Store of permits
- Payslips
- General information and help
- When uploading an Employee, be sure to track Default Language
Payroll – Other tasks - Create a Pricing entity
- Product (relational field)
- # Employee and price (thoughts – single entry of multiple entries per product)?
- Create a Communications Template entity
- Name
- Text in EN, FR, DE etc
- When uploading a new Employee be sure to include their country so the User Default language can be set.
- Edit the Employee upload function (New or Edit or Import) to check the employee language setting
|
|
|
|
Pending
|
|
|
|
|
2.01
|
|
|
Employee import - Creation of a User for the employee upon import and or manual input
- Make sure email doesn't exist already
- And if email added
- Service to check if email is in the User list (see view in Employees, currently 1==1 is the check
|
|
|
-
|
Pending
|
|
|
|
|
|
3 |
ATS Template
|
#: 7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3.02
|
|
|
New functionality: Glossary - Add a new entity called Glossary or Help
- Creates a page with some background that can be linked from another page. But shouldn't be in the main drop-down menus
|
|
|
|
Pending
|
|
|
|
|
3.08
|
|
|
Security - Email verification for New users
|
|
|
|
Pending
|
|
|
|
|
3.11
|
|
|
Live server set up - Automate the process to give read/write access to the public/administration
- sudo chmod -R 775 /var/www/html/stephennurse/public/administration/Attachments/
- sudo chown -R www-data:www-data /var/www/html/stephennurse/public/administration/Attachments/
- Write a batch file that will copy the Map-Icon and Language-Icon files, to all the projects (or have them uploaded in the git process)
|
|
|
-
|
Pending
|
|
|
|
|
3.03
|
|
|
Useful Articles - Create a “Useful articles page” with some helpful topics.
|
|
|
|
Pending
|
|
|
|
|
3.07
|
|
|
Header - Photo header appears if there are no photos stored
|
|
|
|
Pending
|
|
|
|
|
3.09
|
|
|
Photos - if the file is missing, you can't delete
|
|
|
|
Pending
|
|
|
|
|
3.05
|
|
|
Roles entity - Create a ranking of roles
- See if you can mimic the heirachy.
- ie Create a list of other roles that are granted by association.
User-roles - Consider how to handle the nesting (ie heirachy)
- Should you save the other roles upon exit?
|
|
|
|
Pending
|
|
|
|
|
3.11
|
|
|
Website contacts - Add a delete all button
- Include the phoneChceker into the index view
|
|
|
-
|
Pending
|
|
|
|
|
3.06
|
|
|
Templates - See if you can move all the twig templates under an ATS directory so you can delete them all in the update bat file and resave easily
|
|
|
-
|
Pending
|
|
|
|
|
3.04
|
|
|
Multi-lingual - In Company Details control the default language, with one setting being to look at the browser language?
|
|
|
-
|
Pending
|
|
|
|
|
3.01
|
|
|
Product list (header) - If there is only one product in the ProductList, then it should become the Header
- Same for SubProducts
HomePage Contact Form - Still shows the DateTime sent.
- Phone number should be optional
Workflow
|
|
|
|
Pending
|
|
|
|
|
3.00
|
|
|
Instructions - Control in Company Details to include a link to instructions functionality.
- Show in dashboard if selected.
- Include in Header display selections
Contacts details (Company Details settings) - Flag to include business card or not
- Business card to include only the information permissioned
- Perhaps include email as
|
|
|
-
|
Pending
|
|
|
|
|
|
4 |
Stephen-Nurse
|
#: 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.04
|
|
|
House Guest - New: If ‘Internal Note’ or ‘Block Out’ is checked, it should hide the GuestName.
- Email alert doesn't work
- I have multiple cycling. Better done by a service?
- Scrape seems have stopped working
|
|
|
-
|
Pending
|
|
|
|
|
4.09
|
|
|
User import - Handling conflicts and allocation of contacts to Business Contacts
|
|
|
-
|
Pending
|
|
|
|
|
4.06
|
|
|
|
|
|
-
|
Pending
|
|
|
|
|
4.05
|
|
|
Flight price download - Works on local, but not live
|
|
|
-
|
Pending
|
|
|
|
|
3.40
|
|
|
User profile - On all projects (e.g. stephen-nurse.com) I am continually having to run ‘backdoor’ to reset my rights.
- User_roles keeps getting deleted
- I have renamed the roles to add a ‘2’ to them to see if that is the problem too
Roles - Login directions seems to have gone too.
Helpful Links - Helpful Links data keeps getting erased - this seems to have stopped (no reason why) (happened again over the weekend)
|
|
|
-
|
Pending
|
|
|
|
|
|
5 |
Whistles & Bells
|
#: 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.01
|
|
|
Client export function - Export all clients or VCF, that aggregates across both the User, Client and Dog entities.
- Contact form included that will upload to client CRM (checking for duplicates)
- Client contact details (and notes re dog) can be exported to a VCF or CSV so you can upload your client details directly into your phone/contacts (so you recognized in-coming calls/emails etc)
|
|
|
-
|
Pending
|
|
|
|
|
|
6 |
XVA Consulting
|
#: 0
|
|
|
|
|
7 |
LinkedIn Export
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7.03
|
|
|
Scheduling the scrapes - Schedule the scrapes to run in batches (e.g. 20 at a time, once every 6 hours - i.e 80 a day - to minimise the chance of LinkedIn security blocking the IP
- I recognise that for someone like me with 1.5k contacts, the process will take ~20 days, but that is ok.
- Perhaps email progress report (and a file with a subset of the users) after each run with the updates so far (once we have fully tested this)
- I have created a linked-inexport@atts-systems.com email address (password Descartes99) for the email to be sent from
|
|
|
-
|
Pending
|
|
|
|
|
7.01
|
|
|
Exports - For the PartnerFirm export add extra columns to the XLS export
- Name of PartnerFirm Users who is connected to the LinkedInContact
- Solve the multiple VCF export
|
|
|
|
Pending
|
|
|
|
|
7.02
|
|
|
Linkedin icon - Change gitignore or other solution to make the LinkedIn icon show
|
|
|
-
|
Pending
|
|
|
|
|
|
8 |
Immigration Services
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.03
|
|
|
Other - Review site in mobile mode. Currently the following screens do not look great:
- When a user is logged in:
- Show a transaction (eg http://localhost:8000/transaction/19/show)
- And editing each Document (eg Passport, Birth Cert, Driving License etc)
- Security
- The My Availability page needs to be security protected (just the specific-user and staff)
- PriceList page
- This should cycle through the Services Offered and show the summary and price
- Complete MEU1, MEU3 and Bank of Cyprus forms
- Complete the code to show the questionnaire titles in either English or Greek (or both) in the MEU1 and MEU3 forms
- Ensure that the forms ‘import’ the necessary information in the right place (eg from User, or Passport or Employment Contracts etc)
- Flight stats page
- Import from stephen-nurse.com. It works in stephen-nurse.com
- Add Google analytics link
|
|
|
-
|
Pending
|
|
|
|
|
8.01
|
|
|
Process of reviewing docs (e.g. Passport, Utility bill, Tenancy etc). - Client upload the respective document and fills in the details required.
- Clients should only see the first column; not the column(s) for the Review process or the reasons for failure…..
- Clients should not be able to edit the review section
- Status should be set to default
- GRTS review the doc and show comments.
- And send comments to client
- Client then ‘corrects’ the error.
- How do we track this?
- Can we have a history entry that tracks the changes? A non-editable field that tracks the date of the change, who made it and what was made.
- If a revised scan is uploaded, do we keep the old one (rename it?), and link to it in the history field?
- Client amending should reset to Pending.
- Errors before should still be visible to staff members
|
|
|
-
|
Pending
|
|
|
|
|
8.04
|
|
|
Immmigration Services - Facebook questions
- Boat to Europe.
- Good accountant lawyer
- Good Gwenny
- Schools
- Pet sitters
- Write to Serghios
|
|
|
-
|
Pending
|
|
|
|
|
8.05
|
|
|
Immigration Services site - Include the ability to upload an email into a “New Client” form
- Complete
- MEU1 form (partially complete) population
- MEU3 form
- Bank of Cyprus form
- Check all the customer pages work on a mobile
- Need to upload scans via camera on phone
- Not all the forms (passport, driving licenses etc) have the Controller built to upload files (and delete files)
|
|
|
|
Pending
|
|
|
|
|
8.02
|
|
|
Need to upgrade all the controllers/forms
|
|
|
-
|
Pending
|
|
|
|
|
|
9 |
Flight Database
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9.01
|
|
|
Flight database - The objective is to build up a database of all future airline/flight numbers/departure/arrival times for a given airport (eg PFO).
- The objective is to get data about every flight scheduled in to/out of Pathos airport (or Geneva airport). So each day going forward, i want to see the flight number, airline, destination/departure airports, schedule time and actual departure/arrival times.
- The flight database is designed to provide data to the AXtools and the ParkNRide projects.
- To do this I want to list all the destinations served by an airport (eg for PFO it is LGW, FRA, LHR, LSN, etc)
- For each date and route (eg LGW-PFO), return the flight details.
- Look for direct (non-stop) flights only
- Return the list of flights (date, airline, take-off and landing time, price)
- We will match that to a database of flights (airline, route, time) to get a flight number. If a new flight, add a new record to look up the flight number.
The source could be either kayak.com or aviationstack.com (Login: nurse_stephen@hotmail.com; Password: Descartes99)
|
|
|
|
Pending
|
|
|
|
|
9.02
|
|
|
Separate out the Flight scraping software from the AX Tools and the StephenNurse site and consolidate into a single site. Scrape all flights to/from PFO and Larnaca airports and tracks prices over time as well as flight times and actual arrival and depart times
|
|
|
-
|
Pending
|
|
|
|
|
|
10 |
Commercially GPS tracker
|
#: 0
|
|
|
|
|
11 |
Financial Advisor
|
#: 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11.02
|
|
|
Updating contributor site - Scrape either the YouTube contributor site, or apple.com to show all new shows
- Only issue remaining is that they are not sorted by date pre expansion…. And a lot of YouTube dates at 12-Aug??
|
|
|
-
|
Pending
|
|
|
|
|
11.01
|
|
|
Mortgages: Scrape once a day the following (establish a chron job at a set time, eg 5pm) - Mortgage rates (from moneysupermarket.com)
- Bank name, Rate and Product Fee. Set Term to 2yr or 3yr or 5yr and date =Today
- Swap rates (Gilts or GBP-swaps) from investing.com [DONE]
|
|
|
-
|
Pending
|
|
|
|
|
|
12 |
Tennis Club
|
#: 7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12.06
|
|
|
Payment - Stripe set-up
- Handling of visitors - visitor fee applied to members Tournie and leagues Platinum vs good memberships
|
|
|
|
Pending
|
|
|
|
|
12.07
|
|
|
User - When you register for the club as if permanent or temporary login.
- Have feature that emails logged members with expired memberships to remove them from the main list.
- Field. Temp membership - date. And remove those from the drop-down menus etc.
- Prepare a confirmation email to be sent to all bookings (each night and upon making the booking). In terms of the reference I don’t think we can use the court availability I’d as that changes if they change court. For the coaching booking that can work though?
- When a new user logs in, have a field that asks if they are a temporary visitor or a long-term member
- Add Google Analytics
|
|
|
-
|
Pending
|
|
|
|
|
12.04
|
|
|
Management reporting stats pages
|
|
|
|
Pending
|
|
|
|
|
12.14
|
|
|
Tennis Court Availability - Future bookings count - had to change
|
|
|
|
Pending
|
|
|
|
|
12.10
|
|
|
Tournament - Create the draw and the matches
- Including scheduling futures rounds
- Show the contact details of one's next opponent
|
|
|
-
|
Pending
|
|
|
|
|
12.11
|
|
|
Other - Approach public schools to ‘rent’ their tennis courts over the summer
- Simultaneously book a Court(s) for Coaches and for Group Sessions.
- What happens if the court is not free?
- For a coaching session book a clay and a hard court and release one when booked. And release the backup 24 hours before the lesson
- When adding a tennis Group Session that is chaperoned by a coach, add that to the coaches calendar too.
- Cancellations of a coaching booking would free up the coach/court (or back to the ‘bagsy’)
- Q: When should the system release a court if the coach is not booked and there is demand for the court (ie when does the bagsy run out)?
- Q: Should the coach reserve a hard or clay court. How should you handle a client who wants to choose (suggestion - the coach bagsies a hard court and if available at the time of booking then it can move to a clay). Do you want to differentiate between courts (eg 8v 9 etc)?
- Add calendar invite when someone makes a coach or session of court booking
- Have a tennis coaches view that shows today and tomorrow, that is not password protected (but hidden link) allowing the coaches to see their calendar with 1 click. Make it work on phones
- Q: What phone do Wyn, Steve, Elena have?
- Decide order of priority for court usage
- Show account balance/kitty in Header
- Improve ergonomics of the the coach bio page.
- Ask Wyn for a bio, 2-3 photos and a video for him Steve and Elena
- Track no-shows
- Q: Should a “no-show” prevents new bookings for [x] weeks. On the first/second/third strike?
- Track canclled bookings?
- Cancel bookings should be saved in a new entity and perhaps tracked. What limit to put on that?
- Flexi memberships: Track number of flexi court vouchers remaining
- Compute/summarise:
- Court stats by month (# $$$)….. Hard, clay by hour - broken down by the DoW and hour. ie should you change prices at different times of the day to balance the loads better
- Coach stats by month (# $$$)
- Member stats by month
- Number of court booiings, number of coaching and group sessions.
- Which members break-even vs their membership cost etc? Should you increase/decrease the annual subscription?
- Membership reminders
- Excel import/export of all users to upload members for the admin - test
- Ability to process emails into a booking easily.
|
|
|
-
|
Pending
|
|
|
|
|
12.08
|
|
|
Bugs to fix - Group Session Index - how do I sort them differently if logged in or not (different column count)
- My availability grid and the “I am away button” (line 110 in Index). Seem to have lost the functionality on these buttons altogetherPayroll
|
|
|
-
|
Pending
|
|
|
|
|
12.12
|
|
|
Box leagues/ladder - Add ability to run a box league
- Look at https://boxleague.net
- == entity: tennisClub
- Name, address, tel, notes, administrator, toilet, GPSlocation, parking, bar, changing rooms, showers
- == entity: boxLeague
- tennisClub (relation), box league number (1, 2…. x), sets, promotion count, demotion count, date for completion
- == players
- Member of a specific box league at a specific club(s)
- Box league then creates a list of fixture (grid), allows the users to enter their own score and.or the administrator. Includes walkover
- Computer the winner/loser
- Computes next season starting point.
|
|
|
-
|
Pending
|
|
|
|
|
12.05
|
|
|
Users - Have ability to create a user from an Outlook lookup. ie press a button to call up Outlook and search your VCFs and import in the necessary fields
|
|
|
-
|
Pending
|
|
|
|
|
12.09
|
|
|
Env - Dynamic email login and password
|
|
|
|
Pending
|
|
|
|
|
12.13
|
|
|
Formatting - Photo handling on the Interests page
- Background colour on footer and header
- Height of the header, overshadowing the content
|
|
|
|
Pending
|
|
|
|
|
12.01
|
|
|
Premiership table view of players - Show last 5 wins/losses
- Button for Single or Doubles
- However over for date, player, score
Scrape ITF player rankings weekly
|
|
|
|
Pending
|
|
|
|
|
12.02
|
|
|
- Premiership view of players
- Scrape ITF rank weekly
- Language settings (in ATS template)
- Algo for scores.
|
|
|
|
Pending
|
|
|
|
|
12.03
|
|
|
ATS upgrade - Multiple entities no longer work since ATS upgrade. Perhaps related to upgrade of PHP version
|
|
|
-
|
Pending
|
|
|
|
|
|
13 |
Criminal Record Checks
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13.01
|
|
|
Text for CRC Application forms can be obtained through the Internet from the official Police website: www.police.gov.cy - Previous Conviction Registry Every application must be accompanied by: - An official receipt for the payment of the amount of 420.00. The payment could be made:
- in cash at any Divisional Police Headquarters or at any Embassy or Consulate of the Republic of Cyprus
- remittance to the Central Bank of Cyprus in the name of the Chief of Cyprus Police
- (SWIFT CODE CBCYCY2NACC, Government General Account, account no. CY1600 10000100000000006001010) -only in Euro
- Identity Car, Passport, for Cypriot citizens
- Alien Book, Pink or Yellow and passport for Aliens
- Written authorisation in case that the application is submitted from a third person besides the applicant.
Note: The content of this application are subject to the provisions of the General Data Protection Regulation (EU) 2016/679 and of the Law 125(1)/2018
|
|
|
|
Pending
|
|
|
|
|
|
14 |
Irish Passport Consultants
|
#: 0
|
|
|
|
|
16 |
Tennis Groups SetUp
|
#: 0
|
|
|
|
|
17 |
TechArete
|
#: 0
|
|
|
|
|
18 |
TennisFinder
|
#: 10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18.07
|
|
|
Booking completion - Complete the ClubSpark scraping functionality
- One-click booking
- Cancellations
|
|
|
|
Pending
|
|
|
|
|
18.06
|
|
|
|
|
|
|
Pending
|
|
|
|
|
18.02
|
|
|
Cancellations - Re-use a cancelled court?
- Setting up a 1st reserve for any cancellations
|
|
|
|
Pending
|
|
|
|
|
18.01
|
|
|
Management statistics - History of court usage
- The states of the court are:
- No data => 1
- Available => 2
- Booked => 3
- Closed => 4
- Lifecycle (assuming not closed): 1>2>3
- What do you need to know
- New fields:
- A) timeFirstScrape - Done
- B) timeCourtReleased - Done
- C) timeCourtTaken (ie time on a scrape when the court was Available before but is now Booked) - Done
- Compute
- SnapUpTime: (C-Max(A,B))
- LeadTime: (PlayTime-C) - Done
|
|
|
-
|
Pending
|
|
|
|
|
18.14
|
|
|
Hit with me - Players upload a video of their game
- Gets rated by a coach (£2 charge)
- Grid of pricing for player vs others for relative standards Punter playing brings the balls and the court.
- No show - cost of court and a fine of 5quid
|
|
|
|
Pending
|
|
|
|
|
18.18
|
|
|
Meet new players - E-mail functionality test
- To make contact with a new player, the system should not show their email/phone number, but rather wait until the recipient has accepted the request
- Show list of reach-outs in my Connections list as Pending.
- Mark contacts as Agreed(tick), Pending (?), or Rejected (cross).
- Ability to download a Outlook contact file
|
|
|
|
Pending
|
|
|
|
|
18.15
|
|
|
Tennis coaches - Create an user-type of “Aceify Coach”
- When selecting a user, also select their chosen coach
- Show the coaches bookings on the court screen.
- Book court in name of coach, and cc the player
|
|
|
|
Pending
|
|
|
|
|
18.08
|
|
|
Splitting the court cost bill - One person will have to first buy the court, but the functionality I want is for that person to then be able to split the bill across the other players
- Create a “My Bookings” link - that shows the bookings where the logged-user is one of the players (either player1, player2, player3 or player 4).
- This view shows who has currently paid for the court (and the split after some reallocation) and includes a button that “Pays my share”,
- That process involves the non-paying player(s) to send their share of the cost to the kitty of the person that paid the bill. It will shows as a like a TopUp on the account of the recipient and a debit on the Account of the sender
- Email functionality to send a reminder to the non-payers
|
|
|
|
Pending
|
|
|
|
|
18.17
|
|
|
ClubSpark - Buy smart card per venue. Limit bookings to one per day and 5 per week per smart card to avoid scrutiny.
|
|
|
-
|
Pending
|
|
|
|
|
18.16
|
|
|
Email functionality - Work on the confirmation emails
- Punter confirmation
- Complex reservation
- Aceify booking
|
|
|
-
|
Pending
|
|
|
|
|
18.13
|
|
|
Complex reservations - Allow users to book repeat reservations targeting mutliple venues, where their choice will prioritise either the venue or the times or the time on court
|
|
|
-
|
Pending
|
|
|
|
|
18.03
|
|
|
Bookings - Allow non-logged in users to book (ie straight to CC provider, take email)
- Email confirmation
|
|
|
|
Pending
|
|
|
|
|
18.10
|
|
|
Overcome the IP blocking issue - Proposed solution is to scrape using a local copy of the site that posts the results to the live site
- Question: How do we overcome the IP block that is applied to our site for the making of bookings? is the IP address already blocked? Note this will be far less frequent than the scrape, so we could use a dynamic IP address for that component of the site as the volumes will be far lower?
|
|
|
-
|
Pending
|
|
|
|
|
18.04
|
|
|
When booking an Aceify - When making a booking for an Aceify client, check the Aceify credit available
- Malcolm to check how to access a client’s balance, and if there is a unique URL - via the client’s email or client’s ID
|
|
|
|
Pending
|
|
|
|
|
18.11
|
|
|
Handling a VIP booking (e.g. Jamie Delgado)
|
|
|
-
|
Pending
|
|
|
|
|
18.12
|
|
|
Scraping - Solve how to “prompt” a court availability scrape from the live site
- Scrape history view not working
|
|
|
-
|
Pending
|
|
|
|
|
18.05
|
|
|
Scraping courts - MyCourts (generic code that will then apply to all the MyCourts clubs)
- Duke’s Meadow – requires a bespoke scrape
- Aphrodite Hills
|
|
|
|
Pending
|
|
|
|
|
18.09
|
|
|
Tennisfinder - Tennis Venue entity:
- For the 129 MyCourts clubs, can you try to convert the Longitude and Latitude data that we captured into the “embedded html” needed for the maplink, so the map-marker icon works?
- Can you run the postcode distance calculator for one player across all the MyCourt clubs to see if they all ok compute
- The Map All button (showing the position of all the Active Courts on a single page) doesn’t seem to include the MyCourts clubs
- MyCourt Scraper
- Can you build a scraper to extract the Court (whether tennis, squash or badminton) Availability for the “MyCourts” clubs
- Can you bring in the data as to whether it is available and the price if it is a given
- Booking a Court (ClubSpark)
- Can we test the client emails when you book a court
- Can you look to see if you can complete the single-click book for the courts?
- Complex reservation (multiple days where we book the first court that comes available)
- Can we create a chron that runs through all the complex reservations and makes a booking (and cancels others) that meet the criteria. For example,
- If the #1 preference is free it books that and cancels the others
- Question: Do we wait for all the first choices to be available before ‘hitting’ a second choice? Or do we go through each hour and hitting the best one? (Do you see the problem?)
- Perhaps we should make that a question : “Would you like us to immediately book a non-first preference option if there are some courts at your first preference still to be released? Be aware if we then wait those second/third/fourth choice options might have gone?”
- We also have to think about how we use the bidding process...
- For a single venue/hour…. Do we give them a choice of court, or any court?
- And do we charge the full bid price, or the next best bid +£1? How will the client know? Do we show the current highest bid to encourage a higher bid- Yes? And do we tell the first bidder that they have been out-bid?
- I think we just take the full amount and the client
|
|
|
-
|
Pending
|
|
|
|
|
|
19 |
ITF Proposal
|
#: 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19.01
|
|
|
Searching for tournaments (https://www.itftennis.com/en/tournament-calendar/world-tennis-masters-tour-calendar/) - When searching, you can filter/sort by date or country….. but not by Category, or Surface
- The Name of the Tournament is always a concatenation of the City and the Category, so in effect is superfluous
- Some of the Cities are in CAPS, some not.
- The Country filter doesn't work terribly well. Specifically, if I am searching for "Cyprus" yet have selected a month where there are no tournaments in Cyprus, then the search fails to recognize Cyprus. In addition your search function can be configured to capture structured to look for other a couple of ways of spelling a country. For example, I looked for “England”, and found nothing. It should suggest Great Britain. Similarly United States doesn't trigger, the code is USA. However you can easily configure where your country database has 2 or 3 alternative search names (hidden) that will then show “Great Britain” if I were to type any of the following "UK, GB, England, Wales, Scotland, Northern Ireland etc)
Registering/Applying for a tournament Checking out the draw for tournament (this page→https://www.itftennis.com/en/tournament/mt400-limassol/cyp/2024/s-mt400-cyp-2024-004/draws-and-results/) - Each tournament has a single URL for all the draws (Mens, Womens, Mixed…. All age groups), and they control the display with Javascript
- Example: https://www.itftennis.com/en/tournament/mt400-limassol/cyp/2024/s-mt400-cyp-2024-004/draws-and-results/
- That means you can't share the URL to direct family/friends/partners for specific draw. You have to tell them to navigate to say "Mens / Singles, Over 45)
- Moreover, the site doesn't remember anything about the user, so refreshing the Age category resets the gender of the user.
- I would recommend tracking the default with a cookie or alternatively providing a unique URL (trade-off is that it is slightly to flick between tournaments, but most users are not doing that)
- The order of play page doesn't optimally use the screen width. On high resolution screens you could see 12 courts simultaneously, rather than clicking across screens
- Similarly the court numbering at the top is confusing.
- Granted on a phone it needs to be swipe right for
|
|
|
-
|
Pending
|
|
|
|
|
|
20 |
News-scrapper
|
#: 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20.02
|
|
|
News Lists - Issue is that the buttons trigger a refresh and slow.
- Can one overcome this with a javascrpt flag and a press to do all button at the end
Users - Centrally scrape the content of the articles. Check once the login of the user at their login stage, and track if good. Then show in the title page if the login is confirmed as valid
|
|
|
-
|
Pending
|
|
|
|
|
20.01
|
|
|
Scrape content - Check that the scraping of all the news sites works
- Also ensure that the content and not just the headline are scraped saved in the ‘fullContent’ field in the news entity.
- In the view, hovering over the title will display the full content
- For websites where the content is behind a firewall, then login and scrape where available.
|
|
|
-
|
Pending
|
|
|
|
|
20.03
|
|
|
Set up a Payment gateway- Stripe?
|
|
|
-
|
Pending
|
|
|
|
|
20.04
|
|
|
User Password checks - Need to develop an algorithm to check the passwords upon login
|
|
|
-
|
Pending
|
|
|
|
|
20.05
|
|
|
Deleting LinkedIn Users - Delete MY Linkedin contacts should not delete them but mark them as hidden
- How to handle when we have a contact shared with multiple "owners"?
|
|
|
|
Pending
|
|
|
|
|
20.06
|
|
|
LinkedIn export - Notes need to include the Employment and Education details
- Searchable text for mission statement
- Export function seems to be failing
|
|
|
|
Pending
|
|
|
|
|
|
22 |
Visit Weimar
|
#: 0
|
|
|
|
|
23 |
Comfy Cats
|
#: 0
|
|
|
|
|
26 |
Park n Ride
|
#: 0
|
|
|
|
|
27 |
New Projects
|
#: 0
|
|
|
|
|
28 |
Aphrodite Cleaners
|
#: 0
|
|
|
|
|