I'm having difficulty with trying to redraw the arrows from one node to another.
MWE:
\documentclass[a4paper, 11pt]{report}
\usepackage[toc,page]{appendix}
\usepackage{pgfgantt}
\usepackage{geometry}
\geometry{
a4paper,
total={170mm,257mm},
left=20mm,
top=20mm,
}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows, shadows}
\usetikzlibrary{fit,backgrounds}
\usetikzlibrary{shadows.blur}
\begin{document}
\begin{center}
\tikzset{
decision/.style={
diamond, draw, fill=blue!20, text width=4.5em, text badly centered,
node distance=3cm, inner sep=0pt, drop shadow
},
block/.style={
rectangle, draw, fill=blue!20, text width=7em, text centered, rounded corners,
minimum height=2em, drop shadow
},
line/.style={
draw, -latex'
},
cloud/.style={
draw, ellipse,fill=red!20, node distance=3cm, minimum height=2em, drop shadow
},
rect/.style={
rectangle, rounded corners, minimum width=3.5cm, minimum height=1cm,
text centered, draw=black, fill=blue!10,blur shadow
},
arrow/.style={
thick,->,>=stealth
}
}
\begin{tikzpicture}[node distance = 2cm, auto]
% Place nodes
\node [cloud] (start) {Start};
\node [decision, below of=start] (newuser) {New User?};
\node [decision, below left=3cm of newuser] (christmassale) {Christams Sale?};
\node [decision, below right=3cm of newuser] (newcustomerthruref) {New Customer through Reference};
\node [decision, below left=2cm of christmassale] (firstorder) {First Order?};
\node [block, below left=1cm of firstorder] (discount15) {Total Discount +15\%};
\node [decision, below right=2cm and 1cm of discount15] (coupon) {Coupon?};
\path [line] (start) -- (newuser);
\path [line] (newuser) -| (christmassale);
\path [line] (christmassale) -| (firstorder);
\path [line] (firstorder) -| (discount15);
\path [line] (discount15) |- (coupon);
\path [line] (discount15) |- (coupon);
\path [line] (christmassale) |- (coupon);
\path [line] (firstorder) -| (coupon);
% \draw [arrow] (discount15.east) |- ++(1.5cm,1.5cm) node[red] {$\bullet$} -| ([xshift=1cm]coupon.south);
\end{tikzpicture}
\end{center}
\end{document}
CURRENT OUTPUT:
IDEAL OUTPUT:
2 questions:
- How do I change the vertical length of the paths/arrows (indicated in red) so that they're all uniform?
- How do I draw the arrows leading [christmas sale] >> [coupon] && [first order] >> [coupon] as below?

WHAT I TRIED:
I tried to play around with the following code but to no avail
\draw [arrow] (discount15.east) |- ++(1.5cm,1.5cm) node[red] {$\bullet$} -| ([xshift=1cm]coupon.south);


positioninglibrary. The length of vertical part is directly coupled to the vertical distance and the (vertical) size of the nodes. You place one nodes 3cm below left and another only 2cm. Of course, the lines will be different. Mixing diamonds and rectangles make it a bit harder to place nodes in a way that the vertical part will be exactly the same size with vanilla TikZ options. – Qrrbrbirlbel Feb 08 '23 at 13:13