Phase 4. Adding ticket vending machines
At the moment all the passengers in our model enter the subway entrance building, then pass through the fare gates and go to the trains. So we assume that all passengers have bought their tickets in advance. Actually this can be hardly true. Some
people may enter the station with the tickets being purchased in advance. But a lot of people buy tickets just when they enter the subway station.
There can be different ticket vending facilities in the station. Small subway entrances may provide only ticket vending machines, big and spacious stations also have ticket offices.
Let's expand our model by adding ticket vending machines first. Having built such a model, we want to know the number of machines we need to satisfy the passenger needs and we can also find the optimal location for the machines to minimize the
passenger flows intersections and crowds.
Like fare gates, ticket vending machines can be also naturally represented as
Services with Lines.
Draw ticket vending machines
- Drag the
Service with Lines
element from the
Space Markup
section of the
Pedestrian Library
palette into the graphical editor.
- Rotate the service shapes and place them near the wall as shown in the figure below:
- Open the services properties and configure this group of services.
- This time our services are not linear, but point. Pedestrian just reaches the service point and stays there for service delay time. So leave the
Type of service
set to
Point.
- Name the services
ticketMachines.
- Increase the
Number of services
to 7. Symmetrically, change the
N of queues
also to 7.

Now we want to route some passengers directly to fare gates, and some - to get serviced at the ticket vending machines.
Modify the model flowchart
- Insert the
PedSelectOutput
block between
inflowSource
and
atFareGates
blocks. The block will be automatically connected when you place in on the connector.
This block separates passenger flows. We need this block to route non-ticketed passengers to ticket vending machines while other ones – straight to the fare gates.
PedSelectOutput
block is a decision making block of Pedestrian Library. Pedestrians arriving at the
PedSelectOutput
block are forwarded along one of its output ports depending on the specified ratios.
- Add one more
PedService
block. This block will simulate how passengers are serviced at ticket vending machines. Place it between the second
out
port of
PedSelectOutput
and the existing
PedService
block (atFareGates).
- Connect the blocks as shown in the figure (this will require
drawing two new connectors
between the second
out
port of
PedSelectOutput
and
atFareGates
blocks).
- Configure the
PedSelectOutput
block. Name the block
routePassengers. Specify
0.9
as
Probability 1
(the ratio for flow going directly to fare gates), and
0.1
as the
Probability
2
(ratio for the flow going to ticket vending machines correspondingly. In this flowchart we assume that the number of passengers that have already bought their tickets is actually significantly higher. Set
Probability 3, 4, 5
equal to
0.
- Configure the just added
PedService
block. Rename the block to
atTVM.
- Choose
ticketMachines
(the name of our
Service with Lines
markup shape) as the
Services.
- Change the
Delay
time. Write there:
triangular(7, 12, 40)
and choose seconds from the drop-down list of units.
We assume that service time is triangularly distributed with minimum value of 7 seconds, average value of 12, and maximum value of 40 seconds.
Let's run the model and observe its behavior. Note that now some passengers first go to the ticket vending machines to buy a ticket and only then pass through fare gates.

Phase 3. Displaying pedestrian density map