<human>: Give me the gist of the text in a nutshell

Today actually marks four months of being in an official relationship, but we started seeing each other casually last summer. We both work multiple jobs and recently haven't been able to spend much time together. I just started a new part time job as a waitress and due to circumstances outside my control worked way too much over the last four days. 
Last night my boyfriend got off work early and headed downtown to drink with his friends, who he also hasn't been able to see much lately. After I told him I was having a horrible day, he cut his time with his friends short and went to his apartment (10 mins from my work) to wait for me. 
Long story short, his roommate (my best friends also 23/F) came in to my work last night and said she really needed to talk to me. Although my boyfriend offered to send a cab for me after work, I made the decision to let her drive me home instead. I don't know why I did this. I had no interest in talking to her about her boy problems but she insisted it was important. This resulted in a 90 minute gap in the time I got off work and the time I got to my boyfriends apartment. When I arrived he was already in bed and was really hurt that it had taken me so long to get there. I don't even have a good reason, I don't know how to explain why I couldn't just tell her that I needed to be with him, and now he feels that she takes priority over him. This isn't true at all, I love him so much and only wanted to be with him last night and I fucked up. I've been crying all day and we haven't spoken since I left his apartment at 2am. How do I fix this? I just want to be happy together again.
<bot>: best friend needed to talk to me, delayed me meeting my boyfriend when we haven't been able to spend any time together lately, he's hurt, I fucked up, how do I fix this?