AIRPORT SERVICES XML DEFINITIONS

The Services.xml file should be formatted as follows:

<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="ServiceFile" version="1,0">
    <Service.ParkingSpaceServices>
        <!-- SERVICE DATA HERE -->
    </Service.ParkingSpaceServices>
    <Service.AirportServices>
        <!-- AIRPORT SERVICES DATA HERE -->
    </Service.AirportServices>
</SimBase.Document>

Within the <SimBase.Document> element you can have the following sub-elements, which are explained in detail below:

 

Note that some of the following XML elements have a Filename attribute. This is the name (and path) to the mission script file that defines the element. These script files are explained in detail on the following page:

 

 

<Service.ParkingSpaceServices>

This element is used to add a list of parking space services to an airport and can contain the <ParkingSpace> element. This element has no attributes and is simply a container element.

 

 

<ParkingSpace>

This element is used to define a single parking space in an airport and is a sub-element of the <Service.ParkingSpaceServices>. You can have multiple <ParkingSpace> sub-elements defined in a single <Service.ParkingSpaceServices> element. This element can contain the <ParkingTypes>, <IdleWorkers>, <Services> and <SleepingActivities> sub-elements.

 

The attributes available when defining a parking space are as follows:

 

Attribute Description Type Required
name Name of this ParkingSpace entry

String

No
MinParkingSpaces Minimum number of parking spaces (of any type) in the airport to take into account. Useful to avoid having services on micro-airports with only 1 parking.

Integer

No

 

 

<ParkingTypes>

This element has no attributes and is used to list the types of parking corresponding to the <ParkingSpace>. It contains the <ParkingEntry> sub-element, and you can define multiple for a single <ParkingSpace>.

 

<ParkingEntry />

This element is used to define a single parking type. Note that this is a self-closing element and has the following attribute:

 

Attribute Description Type Required
ParkingType Type of this ParkingSpace entry.

Enum:

NONE
DOCK_GA
FUEL
GATE_HEAVY
GATE_MEDIUM
GATE_SMALL
RAMP_CARGO
RAMP_GA
RAMP_GA_LARGE
RAMP_GA_MEDIUM
RAMP_GA_SMALL
RAMP_MIL_CARGO
RAMP_MIL_COMBAT
VEHICLE
RAMP_GA_EXTRA
GATE_EXTRA

Yes

 

 

<IdleWorkers>

This element has no attributes and is used to list the types of parking corresponding to the <ParkingSpace>. It contains the <Spot> sub-element, and you have a single <IdleWorkers> sub-element for each single <ParkingSpace>.

 

<Spot>

This element is a container element for the <IdleWorker /> sub-element, of which you can define various per-spot. Each parking in each airport is represented by a circle - with a center point and a radius - a type, and a heading orientation relative to North (more info in the section on <TaxiwayParking />). From this, the spawning position of an idle worker <Spot> is determined by three parameters:

  • SpawnDistanceParkingRadiusFactor
  • SpawnDistanceAdditionalOffset
  • SpawnAngleFromParking

First, this position will be at a distance from the center of the parking equal to SpawnDistanceParkingRadiusFactor * (radius of current parking) + SpawnDistanceAdditionalOffset. Then, the position will be computed from the center of parking and distance by moving along a line determined by an angle SpawnAngleFromParking from the parking heading. See the examples page for more information.

 

The <Spot> element has the following attributes:

 

Attribute Description Type Required
Frequency Frequency (from 0.0 to 1.0) at which an IdleWorker will be created at this Spot.

Float

Yes
SpawnDistanceParkingRadiusFactor Determines the spawning position of the spot by multiplying this factor by the radius of the parking spot. Float Yes
SpawnDistanceAdditionalOffset Determines the spawning position of the spot by adding this offset (in meters, and can be negative to be inside the parking). Float Yes
SpawnAngleFromParking Determines the spawning position of the spot by determining at which angle from the parking to move the specified distance. Value from 0.0° to 360.0°. Float Yes
HeadingFromParkingHeading Determines the heading of the spawned IdleWorker, relative to the parking spot heading. Value from 0.0° to 360.0°. Float Yes

 

<IdleWorker />

This element defines one of the several idle worker scripts that can be used for this <Spot>, along with its relative weight. Note that this is a self-closing element and has the following attributes:

 

Attribute Description Type Required
Filename Name of the script file. Should be the full path from the Airport_Services root folder (not included in the path), and not include the file extension.

Float

Yes
EntryWeight Relative weight determining how likely it is to be chosen over other scripts for this Spot (higher weight means more likely to be chosen) Integer Yes

 

 

<Services>

This element has no attributes and is used to list the types of services corresponding to the <ParkingSpace>. It contains the <Service /> sub-element, and you can define multiple for a single <Services>.

 

<Service />

A single service to create at this parking spot. Each parking in each airport is represented by a circle - with a center point and a radius - a type, and a heading orientation relative to North (more info in the section on <TaxiwayParking />). From this, the spawning position of a <Service> is determined by three parameters:

  • SpawnDistanceParkingRadiusFactor
  • SpawnDistanceAdditionalOffset
  • SpawnAngleFromParking

First, this position will be at a distance from the center of the parking equal to SpawnDistanceParkingRadiusFactor * (radius of current parking) + SpawnDistanceAdditionalOffset. Then, the position will be computed from the center of parking and distance by moving along a line determined by an angle SpawnAngleFromParking from the parking heading. See the examples page for more information.

 

This is a self-closing element and has the following attributes:

 

Attribute Description Type Required
name Informal name of the Service. String Yes
Filename Name of the script file. Should be the full path from the Airport_Services root folder (not included in the path), and not include the file extension. String Yes
AIType  

Enum:

None
Airplane
Helicopter
WanderBoat
GroundVehicle
FuelTruck
PushBack
SmallPushBack
BaggageCart
BaggageLoader
CateringTruck
BoardingRamp
GroundPowerUnit
VehicleFollower
AirportAmbient
IdleWorker
AirplanePlayback
Boat
Animal
FlyingAnimal
Human
Aircraft_Pilot
Marshaller
Jetway
Linked_Object

Yes
Frequency Frequency (from 0.0 to 1.0) at which a service will be created at this Spot.

Float

Yes
SpawnDistanceParkingRadiusFactor Determines the spawning position of the service by multiplying this factor by the radius of the parking spot. Float Yes
SpawnDistanceAdditionalOffset Determines the spawning position of the service by adding this offset (in meters, and can be negative to be inside the parking). Float Yes
SpawnAngleFromParking Determines the spawning position of the service by determining at which angle from the parking to move the specified distance. Value from 0.0° to 360.0°. Float Yes
HeadingFromParkingHeading Determines the heading of the spawned service, relative to the parking spot heading. Value from 0.0° to 360.0°. Float Yes

 

 

<SleepingActivities>

This element determines parameters for parked aircraft and former air traffic aircraft that are no longer part of the Air Traffic. It is a container element and should contain one each of the <SleepingAirlinerServices /> and <SleepingSmallPlaneRefueling /> sub-elements.

 

<SleepingAirlinerServices />

This element sets how often parked airliners should randomly decide to use Services. Note that this is a self-closing element and has the following attributes:

 

Attribute Description Type Required
Timer How often (in seconds) will a given airliner randomly decide to use Services. Note that the Timer is always restarting after expiring, which means that by waiting long enough, each airliner will use Services multiple times. We recommend using a Timer of at least 300 seconds and a Probability of less than 0.4, to avoid having too many aircrafts using Services all the time.

Float

Yes
Probability Probability (from 0.0 to 1.0) that the airliner will decide to use Services when its timer expires. Float Yes

 

<SleepingSmallPlaneRefueling />

Note that this is a self-closing element and has the following attributes:

 

Attribute Description Type Required
Timer How often (in seconds) will a given GA aircraft will randomly decide to go refueling. Note that the Timer is always restarting after expiring, which means that by waiting long enough, each GA aircraft will go refueling multiple times. We recommend using a Timer of at least 300 seconds and a Probability of less than 0.2, to avoid having too many aircrafts using the few Fuel stations all the time.

Float

Yes
Probability Probability (from 0.0 to 1.0) that the GA aircraft will decide to go refueling when its Timer expires. Float Yes

 

 

<Service.AirportServices>

This is a container element for a list of the global airport services available. It has no attributes and within this element you would have a single <Services> sub-element.

 

<Services>

This is a container element for a list of the airport services to create. It has no attributes and within this element you would have a single <Service /> sub-element.

 

<Service />

Defines a single airport service. This is a self-closing element and has the following attributes:

 

Attribute Description Type Required
name Informal name of the Service.

String

Yes
Filename Name of the script file. Should be the full path from the Airport_Services root folder (not included in the path), and not include the file extension. String Yes
ParkingType Which type of parking will this Service be created in.

Enum:

NONE
DOCK_GA
FUEL
GATE_HEAVY
GATE_MEDIUM
GATE_SMALL
RAMP_CARGO
RAMP_GA
RAMP_GA_LARGE
RAMP_GA_MEDIUM
RAMP_GA_SMALL
RAMP_MIL_CARGO
RAMP_MIL_COMBAT
VEHICLE
RAMP_GA_EXTRA
GATE_EXTRA

Yes
Frequency Frequency (from 0.0 to 1.0) at which this Service will be created. Float Yes