Ostatnio kilkakrotnie dzwonił do mnie „tajemniczy” numer prywatny. Domyślałem się, że to może być Bank lub inna instytucja. Kilkakrotnie próbowałem odebrać – albo mi się nie udało albo nie słyszałem. Zawsze pozostaje opcja „oddzwonię”, ale nie tym razem – na „Numer prywatny” nie da się oddzwonić. Jeden raz , udało się odebrać i usłyszałem tylko „Proszę czekać na zgłoszenie się operatora”. Pomyślałem – o mają automatyczne wybieranie numeru. Dobra, myślę, poczekam pół minuty, bo więcej nie byłem w stanie. Po pół minucie muzyczki, rozłączyłem się. I niestety brakowało mi jednego, informacji kto i dlaczego dzwoni. Po kilku dniach wreszcie się im udało, po odebraniu usłyszałem natychmiast miły głos operatora, który przedstawił się, wygłosił formułkę i przeszedł do rzeczy. Wysłuchałem go do końca. Następny raz już nie zadzwonili.
Powyższą sytuację można sobie wyobrazić jak pętlę per odbiorca kampanii. Zgodnie z definicja pętli (ang. loop) z matematyki umożliwia cykliczne wykonywanie ciągu czynności („pobranie rekordu, sprawdzenie statusu, wybranie numeru”) określoną liczbę razy, do momentu zajścia pewnych warunków („odbyto rozmowę” – status sprawdzany na bramce), dla każdego elementu kolekcji (działanie wykonywane dla każdego rekordu kampanii) lub w nieskończoność.
Kolejne czynności: sprawdź czy rozmowa się odbyła, wybierz numer, połącz z operatorem (gdy nie jest wolny, poinformuj o oczekiwaniu), a po rozmowie pomiń danego odbiorcę z kolejnego telefonu. Wyjściem z pętli jest zdarzenie „Odbyto rozmowę”. A zdarzenia: „Brak połączenia”, „Połączenie zerwane”, „Odbiorca niedostępny” powodują powtórzenie czynności dla danego odbiorcy. Odczułem to na własnej skórze – a dzwoniący odczuł wszystkie powyższe zdarzenia z mojej strony. Powyższy diagram w BPMN obrazuje taką sytuację. Zobrazowana pętla, w sytuacji braku odebrania telefonu przez odbiorcę, jest nieskończona – należałoby dodać warunek o ilości prób lub maksymalny czas od rozpoczęcia kampanii do ostatniego telefonu.