@RequestMapping(value = "/hall-event-room-event-list/{hallEventId}/{start}/{end}", method = RequestMethod.GET)
    @ResponseBody
    public RoomEventListResponse hallEventRoomEventListForTimeInterval(
            @PathVariable(value = "hallEventId") final String hallEventIdStr,
            @PathVariable(value = "start") final String startStr,
            @PathVariable(value = "end") final String endStr
    ) {
        Boolean success = true;
        String errorMessage = null;
        List<RoomEvent> roomEventList = null;

        Long hallEventId = null;
        Long startTime = null;
        Long endTime = null;
        try {
            hallEventId = controllerUtils.convertStringToLong(hallEventIdStr, true);
        } catch (UrlParameterException e) {
            success = false;
            errorMessage = "Hall event ID is wrong or empty";
        }

        if (success) {
            try {
                startTime = controllerUtils.convertStringToLong(startStr, true);
            } catch (UrlParameterException e) {
                success = false;
                errorMessage = "Start is wrong or empty";
            }
        }

        if (success) {
            try {
                endTime = controllerUtils.convertStringToLong(endStr, true);
            } catch (UrlParameterException e) {
                success = false;
                errorMessage = "End is wrong or empty";
            }
        }

        if (success) {
            roomEventList = roomEventPresenter.findRoomEventsByHallEventIdForTimeInterval(
                    hallEventId, startTime, endTime
           );
        }

        return new RoomEventListResponse(success, errorMessage, roomEventList);
    }