# Airport Services XML Properties The `Services.xml` file should be formatted as follows: ``` xml ``` Within the `` 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 And IdleWorker XML Properties](service-and-idleworker-xml-properties/)     ### <Service.ParkingSpaceServices> This element is used to add a list of parking space services to an airport and can contain the `` 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 ``. You can have multiple `` sub-elements defined in a single `` element. This element can contain the following sub-elements: 1. `` 2. `` 3. `` 4. ``   The attributes available when defining a parking space are as follows:   {{< table-wrapper >}} | 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 | {{< /table-wrapper >}}     ### <ParkingTypes> This element has no attributes and is used to list the types of parking corresponding to the ``. It contains the `` sub-element, and you can define multiple for a single ``.   #### <ParkingEntry /> This element is used to define a single parking type. Note that this is a self-closing element and has the following attribute:  
AttributeDescriptionTypeRequired
ParkingTypeType of this ParkingSpace entry.

Enum:

  1. NONE
  2. DOCK_GA
  3. FUEL
  4. GATE_HEAVY
  5. GATE_MEDIUM
  6. GATE_SMALL
  7. RAMP_CARGO
  8. RAMP_GA
  9. RAMP_GA_LARGE
  10. RAMP_GA_MEDIUM
  11. RAMP_GA_SMALL
  12. RAMP_MIL_CARGO
  13. RAMP_MIL_COMBAT
  14. VEHICLE
  15. RAMP_GA_EXTRA
  16. GATE_EXTRA
Yes
    ### <IdleWorkers> This element has no attributes and is used to list the types of parking corresponding to the ``. It contains the `` sub-element, and you have a single `` sub-element for each single ``.     #### <Spot> This element is a container element for the `` 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 ``). From this, the spawning position of an idle worker `` 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](airport-services-examples/) for more information.   The `` element has the following attributes:   {{< table-wrapper >}} | 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 | {{< /table-wrapper >}}     #### <IdleWorker /> This element defines one of the several idle worker scripts that can be used for this ``, along with its relative weight. Note that this is a self-closing element and has the following attributes:   {{< table-wrapper >}} | Attribute | Description | Type | Required | |---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------| | `Filename` | Name of the [script file](service-and-idleworker-xml-properties/). 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 | {{< /table-wrapper >}}     ### <Services> This element has no attributes and is used to list the types of services corresponding to the ``. It contains the `` sub-element, and you can define multiple for a single ``.     #### <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 ``). From this, the spawning position of a `` 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](airport-services-examples/) for more information.   This is a self-closing element and has the following attributes:  
AttributeDescriptionTypeRequired
nameInformal name of the Service.StringYes
FilenameName 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.StringYes
AIType

Enum:

  1. None
  2. Airplane
  3. Helicopter
  4. WanderBoat
  5. GroundVehicle
  6. FuelTruck
  7. PushBack
  8. SmallPushBack
  9. BaggageCart
  10. BaggageLoader
  11. CateringTruck
  12. BoardingRamp
  13. GroundPowerUnit
  14. VehicleFollower
  15. AirportAmbient
  16. IdleWorker
  17. AirplanePlayback
  18. Boat
  19. Animal
  20. FlyingAnimal
  21. Human
  22. Aircraft_Pilot
  23. Marshaller
  24. Jetway
  25. Linked_Object
Yes
FrequencyFrequency (from 0.0 to 1.0) at which a service will be created at this Spot.

Float

Yes
SpawnDistanceParkingRadiusFactorDetermines the spawning position of the service by multiplying this factor by the radius of the parking spot.FloatYes
SpawnDistanceAdditionalOffsetDetermines the spawning position of the service by adding this offset (in meters, and can be negative to be inside the parking).FloatYes
SpawnAngleFromParkingDetermines 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°.FloatYes
HeadingFromParkingHeadingDetermines the heading of the spawned service, relative to the parking spot heading. Value from 0.0° to 360.0°.FloatYes
    ### <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 `` and `` 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:   {{< table-wrapper >}} | 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 | {{< /table-wrapper >}}     #### <SleepingSmallPlaneRefueling /> Note that this is a self-closing element and has the following attributes:   {{< table-wrapper >}} | Attribute | Description | Type | Required | |---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------|----------| | `Timer` | How often (in seconds) will a given {{< glossterm >}}ga{{< /glossterm >}} aircraft will randomly decide to go refueling. Note that the Timer is always restarting after expiring, which means that by waiting long enough, each {{< glossterm >}}ga{{< /glossterm >}} 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 {{< glossterm >}}ga{{< /glossterm >}} aircraft will decide to go refueling when its Timer expires. | Float | Yes | {{< /table-wrapper >}}     ### <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 `` 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 `` sub-element.     #### <Service /> Defines a single airport service. This is a self-closing element and has the following attributes:  
AttributeDescriptionTypeRequired
nameInformal name of the Service.

String

Yes
FilenameName 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.StringYes
ParkingTypeWhich type of parking will this Service be created in.

Enum:

  1. NONE
  2. DOCK_GA
  3. FUEL
  4. GATE_HEAVY
  5. GATE_MEDIUM
  6. GATE_SMALL
  7. RAMP_CARGO
  8. RAMP_GA
  9. RAMP_GA_LARGE
  10. RAMP_GA_MEDIUM
  11. RAMP_GA_SMALL
  12. RAMP_MIL_CARGO
  13. RAMP_MIL_COMBAT
  14. VEHICLE
  15. RAMP_GA_EXTRA
  16. GATE_EXTRA
Yes
FrequencyFrequency (from 0.0 to 1.0) at which this Service will be created.FloatYes