The paper proposes a bi-level optimisation framework for Electric Vehicle (EV) fleet charging based on a realistic EV fleet model including a transport demand sub-model. The EV fleet is described by an aggregate battery model, which is parameterised by using recorded driving cycle data of a delivery vehicle fleet. The EV fleet model is used within the inner level of the bi-level optimisation framework, where the aggregate charging power is optimised by using the dynamic programming (DP) algorithm. At the superimposed optimisation level, the final State-of-Charge (SoC) values of individual EVs being disconnected from the grid are optimised by using a multi-objective genetic algorithm-based optimisation. In each iteration of the bi-level optimisation algorithm, it is generally needed to recalculate the transport demand sub-model for the new set of final SoC values. In order to simplify this process, the transport demand is modelled by using a computationally efficient response surface method, which is based on naturalistic synthetic driving cycles and agent-based simulations of the EV model. When compared to the single-level charging optimisation approach, which assumes the final SoC values to be equal to 1 (full batteries on departure), the bi-level optimisation provides a degree of optimisation freedom more for more accurate techno-economic analyses of the integrated transport-energy system. The two approaches are compared through a simulation study of the particular delivery vehicle fleet transport-energy system.