BPMN Pizza Store Tutorial

The BPMN Pizza Store Diagram Tutorial

This tutorial is designed to introduce you to basics of business process modelling using BPMN symbols. BPMN utilises various symbols to represent certain events during a sequence of processes and breaks things down into manageable and easily identifiable stages. The final product is known as BPMN diagram. In this tutorial we will look at the classic pizza business (it’s our favourite because it is so recognisable).

We have used the process model from the OMG BPMN documentation, BPMN 2.0 by Example –  (section 5.2)

Some Basic BPMN Terminology

Let’s begin by covering some of the terminology that is going to used in this tutorial. BPM notation, in its simplest form, is made up of events and processes which are represented visually using symbols – and we will look at these in greater detail in a moment. BPMN also breaks up a process into ‘swimlanes’ which groups each stage within a process into visually identifiable sections. The lanes are labelled to show how the chart is organised. Within BPMN there are variations on many of the symbols that we will be discussing, and I will be explaining them visually in this guide. Let’s have a look at what the processes for a pizza business from both the customer’s perspective and the vendor’s perspective.

The Pizza Business Process Example

The first thing this process needs is for someone to be hungry and want to order a pizza. So you would create a ‘start event’, represented by a single-lined circle, to demonstrate a hungry customer. This would exist in a swimlane labelled ‘customer’. After this, a solid-headed arrow extends out at the end of a solid line and is joined to a process box, represented by a round-edged single-lined rectangle, to show that the customer has selected their pizza. From here, they’re going to order it, so another process needs to be created.



At this point another swim lane needs to exist in order to show the process from the vendor’s end. However since there are multiple people involved for making a pizza, we now have a pool with multiple swimlanes for each person. Within the vendor pool there is a lane for a Clerk, a Pizza chef and a Delivery boy.


Let’s look at what is happening concurrent to the customer placing their order. As the customer is on the phone placing their order, the Clerk receives it. This means that a ‘start message event’ has begun for the pizza vendor, and this event is visually represented by an envelope in a single-lined circle. The dashed line joining the two indicates the message flow and the arrowhead indicates who is going to be receiving the message.

Have a look in this image to see the customer ordering, the order being received by the Clerk and the process that it will activate.



The first swimlane in the vendor pool is the Clerk on the other end of the phone who has taken the customer’s order. The Clerk will then pass the order over to the Pizza chef which is shown in the second swimlane. The kitchen then has the process ‘bake the pizza’. Once this step is complete they pass it on to the third swimlane which is the Delivery boy. He will then have the task of delivering the pizza to the customer.


After this point the customer is back in the process, having waited for their pizza to be delivered. This is shown by a concurrent occurrence between the customer and the pizza delivery boy. Several messages are communicated at this point, including the pizza, which is shown by a dashed line to show a message and the direction in which it is going to be received, which is by the customer. When the customer receives their pizza this is represented by an ‘intermediate message event’ which is a double-lined circle containing an envelope. This represents a message that has been received within the execution of steps within the process. Money is also exchanged for the pizza which is given in the direction of the delivery boy. The customer is then given a receipt and so this is demonstrated as well. The receipt message symbol is grey while all of the others are white is as it represents the end of the message communication for that step of the process.


Finally, all that is left to be done is for the customer to enjoy their pizza, which will be their ‘end event’, and this will be shown in the form of a circle with a heavy line. The fact that the customer has been satisfied means that the vendor will have their ‘end event’ as well. The vendor’s event is also an ‘end terminate event’, indicated by a heavy-lined circle with another grey circle inside, which means that the entire process is now complete. Here is the entire process from start to finish, including all interactions between the vendor and the customer:


This is my first BPMN diagram tutorial and cover just the basics. I will provide a series of tutorials that increase in complexity so we can cover some more advanced topics.

If you want to be the first to know, just sign up to the PROCESSpedia BPM Community for free and subscribe to the blog using the subscribe form on the sidebar of this blog.

If there is a particular BPMN topic or even a particular business model or organisational department you want to see modelled, let me know in the comments and I’ll use it in my next tutorial.

You may also like

  • Johannes Tewes

    Hi Peter,

    I was looking at it and have a number of questions:
    1. The Chef only bakes the Pizza, should he not prepare it too?
    2. The delivery not comes form the Pizza and is not given to the delivery boy?
    Another interesting thing is that most Pizza’s are delivered on the condition that if you have to wait for more than 30 minutes, it will be free ( and cold) LOL. Now this last thing is very interesting from the BPMN point of view.

    Johannes Tewes

    • Peter Korju

      Hi Johannes,

      Thanks for commenting! I’m happy to address your questions.

      The chef does indeed bake the pizza and it can be assumed that he has also prepared the pizza as part of this step. We could have put this task as a sub process instead of a simple task, as really he would have a whole process for preparing a pizza including get dough, top pizza, place in oven, ready the box for the pizza and then as a final part of this process would give the pizza to the delivery boy. In our example we have attempted to keep things simple and had the step as simply ‘bake the pizza’ but you are quite right, the chef would prepare the pizza too.

      In regard to your second question I think I addressed some of it above, but yes, the chef would have given the pizza to the delivery boy. Once again, to keep it simple we omitted this step and tried to demonstrate through process flow what the progression was. We could certainly have included the step ‘give pizza to delivery boy’.

      Your final point about pizza delivery and timing rings true for most pizza places, and we have created our example (once again to keep it simple) without a step that queries whether or not the pizza takes longer than 30 minutes to deliver. We could include a step where the customer enquires about their pizza after a certain time, as there is in the example from which we drafted this process map. I intend to create some more advanced tutorials soon that will cover these complexities.

      Thanks once again for your comments!

  • Fares

    Hi Johannes,

    Of course you can add many details to your BPD, the question is what do you want to describe and for what goal ? As you probably know, there is 3 mains levels of abstraction of process description :
    1- the descriptive level;
    2- the analysis level;
    3- the executable diagramme.

    My ges is that exemple referes to the first level (descriptive) because it provides juste an overview of the process. the right thing to do for a first tuto… :)



  • Varun

    Hi Peter,

    How did you differentiate between a event and a task?
    In you example:- Receiving pizza is an event, but that can be a task too right?