public function getCollectionParams()
    {
        return array(
            'page' => array(
                'description' => 'Current page of the collection.',
                'type' => 'integer',
                'default' => 1,
                'sanitize_callback' => 'absint',
            ),
            'per_page' => array(
                'description' => 'Maximum number of items to be returned in result collection.',
                'type' => 'integer',
                'default' => 10,
                'sanitize_callback' => array($this, 'sanitizePerPage'),
            ),
            'start_date' => array(
                'description' => 'Get events from this date',
                'type' => 'string',
                'default' => date('Y-m-d H:i:s', strtotime("today midnight")),
                'sanitize_callback' => array($this, 'sanitizeDate'),
            ),
            'end_date' => array(
                'description' => 'Get events to this date',
                'type' => 'string',
                'default' => date('Y-m-d H:i:s', strtotime("today midnight")),
                'sanitize_callback' => array($this, 'sanitizeEndDate'),
            ),
            'categories' => array(
                'description' => 'Filter by categories',
                'type' => 'object',
                'default' => null,
            ),
            'tags' => array(
                'description' => 'Filter by tags',
                'type' => 'object',
                'default' => null,
            ),
            'groups' => array(
                'description' => 'Filter by groups',
                'type' => 'object',
                'default' => null,
            ),
            'lat' => array(
                'description' => 'Filter by coordinates',
                'type' => 'string',
                'default' => null,
            ),
            'lng' => array(
                'description' => 'Filter by coordinates',
                'type' => 'string',
                'default' => null,
            ),
            'distance' => array(
                'description' => 'Distance (km) radius from coordinates',
                'type' => 'float',
                'default' => null,
            ),
            'module_id' => array(
                'description' => 'The module ID',
                'type' => 'integer',
                'default' => 0,
                'sanitize_callback' => 'absint',
            ),
            'search_string' => array(
                'description' => 'Filter by search string',
                'type' => 'string',
                'default' => '',
                'sanitize_callback' => 'sanitize_text_field',
            ),
            'age_group' => array(
                'description' => 'Filter by age group.',
                'type' => 'object',
                'default' => null,
            ),
            'lang' => array(
                'description' => 'Filter by language.',
                'type' => 'string',
                'default' => null,
            ),
        );
    }