<<xlr8r.m

lowLevelReactions[{{(Overscript[A⇄B, ℰ]),(Subscript[k, 1]),(Subscript[k, 2]),(Subscript[k, 3])}}]

model={{(Underoverscript[X⇄XP⇄XPP, ZPP, Z]),a,d,k,a,d,k},
{(Underoverscript[Y⇄YP⇄YPP, XPP, X]),a,d,k,a,d,k},  {(Underoverscript[Z⇄ZP⇄ZPP, YPP, Y]),a,d,k,a,d,k}};

interpret[model]

lowLevelReactions[model]

lowLevelReactions[model]//Sort//TableForm

IC={X-> 1, Y-> 1.5, Z-> 2};
R={a-> 1, d-> 1, k-> 1};
s=run[model,timeSpan-> 150, initialConditions-> IC,rates-> R];

runPlot[s,{X,Y,Z}]