     private(set) public var maximumLongitude: Double?
     
     private(set) public var checkinable: Bool?
+    private(set) public var validItems: Bool?
     
     public func withCenter(latitude latitude: Double, longitude: Double) -> Self {
         self.centerLatitude = latitude

            dict["min_lon"] = minlon
            dict["max_lon"] = maxlon
            if let checkinable = self.checkinable { if checkinable { dict["checkinable"] = "true" } }
            return Geocore.sharedInstance.promisedGET("/places/search/within/rect", parameters: dict)
        } else {
            return Promise { fulfill, reject in reject(GeocoreError.InvalidParameter(message: "Expecting center lat-lon")) }
        }
    }
    
    public func events() -> Promise<[GeocoreEvent]> {

    public func eventRelationships() -> Promise<[GeocorePlaceEvent]> {
        if let path = buildPath("/places", withSubPath: "/events/relationships") {
            return Geocore.sharedInstance.promisedGET(path)
        } else {
            return Promise { fulfill, reject in reject(GeocoreError.InvalidParameter(message: "Expecting id")) }
        }
    }
    
    public func items() -> Promise<[GeocoreItem]> {
        if let path = buildPath("/places", withSubPath: "/items") {
            var dict = super.buildQueryParameters()
            if let validItems = self.validItems { if validItems { dict["valid_only"] = "true" } }
            return Geocore.sharedInstance.promisedGET(path, parameters: dict)
        } else {
            return Promise { fulfill, reject in reject(GeocoreError.InvalidParameter(message: "Expecting id")) }
        }
