Our Perfect Holiday
The French sun is shining, the cocktails are flowing, and my family is blissfully celebrating my mother’s seventieth birthday. Standing on the balcony beside my gorgeous husband, Reuben, it looks like absolute paradise. But to me, this luxurious hotel is a beautiful cage. Twenty years ago, someone was murdered in the glittering waters of the hotel pool. I know exactly what happened that night, and I've spent two decades hiding the truth behind a perfect smile.
Then, the text arrives: You should never have come back here… Paranoia sets in as I watch my children play and my family laugh, completely unaware of the danger surrounding us. But the true nightmare begins when Reuben and I take a late-night stroll, only to find a woman's lifeless body floating in the pool. My mouth opens in a silent scream. My worst fear has come true: it's happening all over again.
- Cassie - Reuben’s wife, 36
- Reuben - Cassie’s husband
- Zak - Cassie and Reuben’s son, 6
- Zarlie - Cassie and Reuben’s daughter, 6
- Judd - Cassie’s brother, 38
- Lillian - Cassie and Judd’s mother
- Frankie - Cassie’s best friend
- Anton - Ocean Royal Palace concierge
- Louis - man who drowned at Ocean Royal Palace, 19
- Antoinette - Louis’s sister
- Juliette - Ocean Royal Palace employee
- Marco - Guest at Ocean Royal Palace
- Cassie’s parents want the family to travel to Ocean Royal Palace for a holiday.
- Twenty years ago: Cassie’s parents take her, Judd and Frankie on holiday to Ocean Royal Palace.
- Judd flirts with another hotel guest named Antoinette.
- Louis assaults Cassie and drags her into the pool so Judd punches him.
- They leave him floating facedown in the pool and run away.
- Later they find out he drowned.
- The lifeguard on duty had left his post, so police conclude it was a tragic accident.
- Present: As soon as the family gets to France Cassie gets a text: ‘you should never have come back here.’
- Anton instantly recognizes the family from their stay years earlier.
- Cassie gets more threatening texts.
- Marco hits on Cassie in the hotel bar.
- Cassie calls the number sending the text messages and a phone in Frankie’s purse rings.
- Frankie runs away when she realizes she is caught.
- Cassie returns to the hotel and finds their money and her passport missing from the room safe.
- Frankie's body is found floating facedown in the pool.
- Someone texts Cassie ‘This isn’t over.’
- The police arrest Marco for trying to sell Cassie’s passport.
- Marco says he met Frankie at the bar and they started a holiday fling.
- Cassie learns Frankie was having an affair with Reuben.
- Cassie tells Reuben she is leaving him and he says if she does he will tell police that she killed Louis.
- Reuben knows the truth because Cassie talks in her sleep.
- Anton tells Cassie he saw Louis swimming after Cassie and Judd walked away from the pool the day he died.
- Cassie, Judd and Anton confront Juliette who admits to sending the anonymous texts.
- Juliette is actually Antoinette, Louis’s sister, and she believed Cassie and Judd killed him.
- Police arrest Marco for Frankie’s murder.
- Everyone returns home.
- Cassie tells Reuben she’s kicking him out of the house.
- Reuben tells Cassie he found Frankie by the pool after Marco convinced her to steal from them. Frankie regretted it and came back to apologize.
- When Frankie says she’s going to tell Cassie about the affair too, Reuben holds her head in the pool until she drowns.
- Reuben attacks Cassie, but when Judd appears Reuben turns on him instead.
- Cassie stabs Reuben in the neck with an umbrella to save Judd.
- Epilogue: Twenty years ago
- Louis assaulted Frankie in the weight room the morning he died.
- When Frankie sees Louis swimming in the pool she hits him in the head with a pool rod.
Our Perfect Holiday is an enjoyable, straightforward read that delivers a good story, even though it lacks any shock-and-awe factor. The narrative jumps back and forth between the past and the present, and the short chapters make it easy to fly through the book in one day.
While the book starts off at a steady, medium pace, the momentum slows down quite a bit right around the 50% mark. It also feels sparse on character development, making it difficult to deeply connect with or invest in the cast. Furthermore, the overarching plot is pretty predictable. If you are a seasoned thriller reader, you will likely piece together where the story is headed long before the final reveal.
Overall, this is a solid read. It won't blow you away with unpredictable, mind-bending twists, but it is still a nicely structured story that will keep you entertained.
- Frankie - Dead - Drowned by Reuben
- Reuben - Dead - Stabbed with an umbrella by Cassie
- Louis - Dead - Drowned after Frankie struck him in the head
- Car accident
- Panic attacks
- Murder
- Infidelity
- Loss of a parent
- Sexual assault
ISBN: 9781807221560
Publication Date: June 19, 2026
Note: Details are for the original edition. Other formats, editions, and audiobook versions may be available.