package com.gn.gncore.models import java.util.UUID import org.joda.time.DateTime import org.joda.time.LocalTime /** Core place model throughout service */ case class Place( id:String, name:String, street:String, city:String, state:String, zip:String, phone:String, location:List[Double], description:String, business_type:String, created:DateTime, hours:Option[Hours] = None, links:Map[String, String] = Map(), hidden:Boolean = false ) /** Hours property for places. Every day has an optional list of TimeBlock instances */ case class Hours( monday:Option[List[TimeBlock]] = None, tuesday:Option[List[TimeBlock]] = None, wednesday:Option[List[TimeBlock]] = None, thursday:Option[List[TimeBlock]] = None, friday:Option[List[TimeBlock]] = None, saturday:Option[List[TimeBlock]] = None, sunday:Option[List[TimeBlock]] = None ) /** A TimeBlock represents a discrete opening and closing time */ case class TimeBlock( opens:LocalTime, closes:LocalTime, label:Option[String] = None )