|
1
|
ATS Template
|
#: 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
Pending
|
| |
|
|
|
User - Create fields for the GPSLocations for both HomeAddress and BusinessAddress
- businessGpsLongitude
- businessGpsLatitude
- homeGpsLongitude
- homeGpsLatitude
- Include buttons to take current location and populate either Home or Business gpsLocations TODO
- Improve the user/show twig (compare to business card show) and include a map with both the addresses on them DONE
- Hide Business or Home buttons depending on settings in CompanyDetails DONE
- In User index include the red map-marker icon if the gps longitude/latitude are present (like business contacts) DONE
- Include in CompanyDetails, in the User Profile, a flag to include GPS (one flag for Home, one for Business) DONE
|
|
|
|
Pending
|
| |
|
|
|
|
|
2
|
AX Tools
|
#: 9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
| |
|
|
|
“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
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
Private Plus taxi - Pricing, there should be a discount for the first taker as they are taking the no-share risk.
|
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
|
|
3
|
Payroll
|
#: 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
| |
|
|
|
Employee - Derive the Impot classification from Married/Single/Divorced and Children
|
|
|
|
Pending
|
| |
|
|
|
|
|
4
|
LinkSync
|
#: 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Languages Birthday - Is not being scraped. Linkedin only gives day-month. Save as dd-mmm-2000 (we will display only as dd-mmm)
|
|
|
|
Pending
|
| |
|
|
|
Exports - For the PartnerFirm export add extra columns to the XLS export
- Name of PartnerFirm Users who is connected to the LinkedInContact
Search-Results - In the Ownership section, only show the owners if they are in the same partner firm, and then just initials
|
|
|
|
Pending
|
| |
|
|
|
|
|
5
|
Immigration Services
|
#: 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
Pending
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
|
|
7
|
Tennis Club
|
#: 6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
Tennis Court Availability - Future bookings count - had to change
|
|
|
|
Pending
|
| |
|
|
|
Formatting - Photo handling on the Interests page
- Background colour on footer and header
- Height of the header, overshadowing the content
|
|
|
|
Pending
|
| |
|
|
|
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
|
| |
|
|
|
|
|
8
|
Tennis Finder
|
#: 13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ClubSpark - Buy smart card per venue. Limit bookings to one per day and 5 per week per smart card to avoid scrutiny.
|
|
|
|
Pending
|
| |
|
|
|
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
|
| |
|
|
|
Scraping courts - MyCourts (generic code that will then apply to all the MyCourts clubs)
- Duke’s Meadow – requires a bespoke scrape
- Aphrodite Hills
|
|
|
|
Pending
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
Bookings - Allow non-logged in users to book (ie straight to CC provider, take email)
- Email confirmation
|
|
|
|
Pending
|
| |
|
|
|
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
|
| |
|
|
|
Cancellations - Re-use a cancelled court?
- Setting up a 1st reserve for any cancellations
|
|
|
|
Pending
|
| |
|
|
|
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
|
| |
|
|
|
Handling a VIP booking (e.g. Jamie Delgado)
|
|
|
|
Pending
|
| |
|
|
|
Email functionality - Work on the confirmation emails
- Punter confirmation
- Complex reservation
- Aceify booking
|
|
|
|
Pending
|
| |
|
|
|
|
|
9
|
Financial Advisor
|
#: 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
|
|
11
|
Stephen-Nurse
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UK Days - JSON file field still showing
|
|
|
|
Pending
|
| |
|
|
|
|
|
14
|
TechArete
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Live site no longer works after pushing changes to live. It is a simple copy of ATS template with no customisation
|
|
|
|
Pending
|
| |
|
|
|
|
|
16
|
Flight Database
|
#: 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
| |
|
|
|
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
|
| |
|
|
|
|
|
35.1
|
Personal Admin
|
#: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LinkedIn - Edit profile occasionally (to trigger bots)
- Keywords – include seniority and range of roles Mark Newberry good example
- About section
- Keywords
- Size of projects, emphasis seniority of role, complexity and size
|
|
|
|
Pending
|
| |
|
|
|
|