# Passenger Transport For your airport to be able to use the built-in passenger transportation systems, it will require an adequate setup. The information on this page can be used to create the correct set of objects and files such that passengers will be able to move around the airport on busses and use boarding ramps, and ensure that the various airport support vehicles are available and correctly positioned for use.   For more information on the various built in airport services, please see here: - [Built-In Services](../../../careers/career-activities/)     ### Setting Up An Airport For Passengers To benefit from the passenger service at an airport, the airport will require an Apron Control unit. This can be added from the [Scenery Editor](../../../../devmode/editors/scenery-editor/the-scenery-editor/), using the [Apron Control](../../../../devmode/editors/scenery-editor/objects/airport-objects/#apron_control) setting for the airport object. Having set this up, you need to assign this apron control unit to every single [taxiway parking object](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/) (in the [Apron Control](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#apron_control) section), and also set up an appropriate [Passenger Access Type](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#passenger_access) for aircraft that use the stand (make sure that buses - and ramps for larger aircraft - have been made available if there is no jetway). {{< callout context="note" title="NOTE" icon="outline/bulb" >}} Currently this kind of passenger service is only available for taxiway parking that allows a ramp or a jetway, and currently only the following [Type](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#type) can use the ramp: **RAMP\_GA\_LARGE**, **RAMP\_GA\_EXTRA**, **RAMP\_GA\_MEDIUM**, **RAMP\_GA**, **GATE\_SMALL**, **GATE\_MEDIUM**, **GATE\_HEAVY**, **GATE\_EXTRA** and **RAMP\_CARGO**. {{< /callout >}}   The next thing you will need to set up for the airport are the [TaxiwayServiceStand Objects](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/). These will be setup slightly differently depending on whether they are for buses or for ramps, but you will need both: {{< callout context="caution" title="IMPORTANT!" icon="outline/alert-triangle" >}} Every single one of the taxiway service stand objects mentioned in the sections below will need to have the [Apron Control Unit](../../../../devmode/editors/scenery-editor/objects/airport-objects/#apron_control) that was created on the Airport object assigned to them in the [Apron Control](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#apron_control) section of their properties. {{< /callout >}}   - ##### For Buses For buses, you will need to add service stands that form a logical hierarchy where: - A stand needs to be added by the airport building, which is where the buses will be spawned when the airport is first instantiated, and this needs to have the [Stand Type](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_type) set to "`BUS`", and the [Stand Role](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_role) set to "`PARKING`". Parking stands can service multiple *gates*. - Stands need to be added for each of the *gates* so passengers can be picked up to be delivered to the aircraft. These stands need to have the [Stand Type](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_type) set to "`BUS`", and the [Stand Role](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_role) set to "`GATE`". These stands will additionally need the name of the Gate they are servicing (this is the [Name](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h1) of the taxiway parking spot). Gate stands can service multiple *aircraft*. - For each gate stand, you can then add stands beside the aircraft parking spots. These stands need to have the [Stand Type](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_type) "`BUS`" and the [Stand Role](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_role) set to "`PLANE`". Additionally they will need not only the [Name](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h1) of the taxiway parking spot but the [Number](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h2) and the [Suffix](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h3) as well, since a single gate stand can service multiple aircraft stands.   - ##### For Ramps For ramps the setup is a little simpler than for buses, and the hierarchy is as follows: - A stand needs to be added somewhere on the airport apron, close to the aircraft parking spots that will require the ramp. This is where the ramps will be spawned when the airport is first instantiated, and these stands need to have the [Stand Type](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_type) set to "`RAMP`", and the [Stand Role](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_role) set to "`PARKING`". Parking stands can service multiple *aircraft*. - For each aircraft parking spot, you can then add stands with the [Stand Type](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_type) "`RAMP`" and the [Stand Role](../../../../devmode/editors/scenery-editor/objects/taxiwayservicestand-objects/#stand_role) set to "`PLANE`". Additionally they will need to not only reference the [Name](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h1) of the taxiway parking spot, but the [Number](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h2) and the [Suffix](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h3) as well, since a single ramp parking stand can service multiple aircraft stands.   Around the airport itself, you will need to have added various [TaxiwayPath Objects](../../../../devmode/editors/scenery-editor/objects/taxiwaypath-objects/) of the "VEHICLE", since both the ramps and the buses will follow these paths to move around the airport. Each of the taxiway service stand objects will need to be connected to the vehicle paths using another [TaxiwayPath Object](../../../../devmode/editors/scenery-editor/objects/taxiwaypath-objects/), but this time of the "SERVICESTAND". The image below is from Bilbao (LEBB) and shows the basic setup: {{< image-center src="images/5_Content_Config/CFGs/nav_graph/navgraph_passenger_2_overview.png" alt="The Different Service Stand Objects In The Simulation" >}} The last thing you'll need to do is set up the relevant `navigation_graph.cfg` files for the airport. These are setup using [The Navigation Graph Editor](../../../../devmode/editors/navigation-graph-editor/the-navigation-graph-editor/) (opened from the [View](../../../../devmode/editors/scenery-editor/menus/the-view-menu/) menu of [The Scenery Editor](../../../../devmode/editors/scenery-editor/the-scenery-editor/)), and will need some very specific nodes so that the simulation can generate and move passengers correctly. The files fall into two categories:   - ##### Gate Graphs This file is used to spawn the passengers and then move them to the gate. Since you may need a number of these files, and since the navigation graph files for airports are all compiled together, you should ensure that the files all have unique names that follow *exactly* this naming convention: ``` codeblock navigation_graph_[ICAO]_gate_[ParkingName].cfg ``` This navigation graph requires starting nodes with the [tag](../../../cfg-files/navigation_graph.cfg/#tag) "`GATE_SEAT`", which should be placed around the seating/waiting area of the airport. The graph will then need and at least one other node placed at the point where the gate exits the airport to the exterior, and this node should have the [tag](../../../cfg-files/navigation_graph.cfg/#tag) "`GATE_TO_STAND_[Name]_[Number]_[Suffix]`" where the [Name](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h1), [Number](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h2) and [Suffix](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/#h3) parts match that of the [taxiway parking object](../../../../devmode/editors/scenery-editor/objects/taxiwayparking-objects/) of the aircraft they will be going to. Note though, that if the name is `GATE_[letter]` then *only* the letter needs to be used. Here are a few examples of tag structure: ``` codeblock GATE_TO_STAND_PARKING_13_NONE GATE_TO_STAND_B_4_Y GATE_TO_STAND_DOCK_1_A ```   - ##### Gate-to-Stand Graphs This file is used to move the passengers from the airport gate exit to the services stand to board either a bus or the ramp to the aircraft, *or* to the start of the jetway entrance. As with the gate graphs, the CFG files should have unique names that follow *exactly* this naming convention: ``` codeblock navigation_graph_[ICAO]_gateToStand_[ParkingName]_[ParkingNumber]_[ParkingSuffix].cfg ``` When creating the graph, the first node requires the [tag](../../../cfg-files/navigation_graph.cfg/#tag) "`GATE_TO_STAND_[Name]_[Number]_[Suffix]`", which is formatted *exactly* the same as the final node of the gate navigation graph (see above). This ensures that the two graphs will link correctly in the simulation. The last node on this graph also requires a unique tag and position depending on where that destination is: - **For boarding a jetway** - the graph should go to the jetway entrance, and the last node should have the [tag](../../../cfg-files/navigation_graph.cfg/#tag) "`JETWAY_WAITING_SPOT`". - **For boarding a bus** - the graph should go to a spot where you want passengers to wait for the bus, and the last node should have the [tag](../../../cfg-files/navigation_graph.cfg/#tag) "`BUS_WAITING_SPOT`". - **For boarding a ramp** - the graph should go to a spot where you want passengers to board the ramp, and the last node should have the [tag](../../../cfg-files/navigation_graph.cfg/#tag) "`RAMP_WAITING_SPOT`".   {{< callout context="note" title="NOTE" icon="outline/bulb" >}} In some cases you may only need a single node on the graph, for example, if passengers are being picked up by a bus directly outside the gate exit from the main airport building. In these cases the node should have BOTH the start and the end tags required for the service. {{< /callout >}}