func (s *VenueService) NextVenues(id string) ([]Venue, *http.Response, error) {
	venues := new(venueNextVenuesResp)
	response := new(Response)
	resp, err := s.sling.New().Get(id+"/nextvenues").Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, venues)
	}
	return venues.NextVenues.Items, resp, relevantError(err, *response)
}
NextVenues returns venues that are checked into after the given one
https://developer.foursquare.com/docs/api/venues/nextvenues
package foursquarego
import (
	"encoding/json"
	"net/http"
)
type PhotoGroup string
const (
	GroupPhotoVenue   PhotoGroup = "venue"
	GroupPhotoCheckin PhotoGroup = "checkin"
)
type VenuePhotosParams struct {
	VenueID string     `url:"-"`
	Group   PhotoGroup `url:"group,omitempty"`
	Limit   int        `url:"limit,omitempty"`
	Offset  int        `url:"offset,omitempty"`
}
type venuePhotoResp struct {
	Photos PhotoGrouping `json:"photos"`
}
func (s *VenueService) Photos(params *VenuePhotosParams) (*PhotoGrouping, *http.Response, error) {
	photos := new(venuePhotoResp)
	response := new(Response)
	resp, err := s.sling.New().Get(params.VenueID+"/photos").QueryStruct(params).Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, photos)
	}
	return &photos.Photos, resp, relevantError(err, *response)
}
type venueEventResp struct {
	Events Events `json:"events"`
}
type Events struct {
	Count   int     `json:"count"`
	Summary string  `json:"summary"`
	Items   []Event `json:"items"`
}
type Event struct {
	ID         string     `json:"id"`
	Name       string     `json:"name"`
	Categories []Category `json:"categories"`
	HereNow    HereNow    `json:"hereNow"`
	AllDay     bool       `json:"allDay"`
	StartAt    int64      `json:"startAt"`
	EndAt      int64      `json:"endAt"`
	Date       int64      `json:"date"`
	TimeZone   string     `json:"timeZone"`
	Stats      Stats      `json:"stats"`
	URL        string     `json:"url"`
}
func (s *VenueService) Events(id string) (*Events, *http.Response, error) {
	events := new(venueEventResp)
	response := new(Response)
	resp, err := s.sling.New().Get(id+"/events").Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, events)
	}
	return &events.Events, resp, relevantError(err, *response)
}
type VenueHoursResp struct {
	Hours   HoursResp `json:"hours"`
	Popular HoursResp `json:"popular"`
}
type HoursResp struct {
	TimeFrames []HoursTimeFrame `json:"timeframes"`
}
type HoursTimeFrame struct {
	Days          []int       `json:"days"`
	IncludesToday bool        `json:"includesToday"`
	Open          []HoursOpen `json:"open"`
}
type HoursOpen struct {
	Start string `json:"start"`
	End   string `json:"end"`
}
func (s *VenueService) Hours(id string) (*VenueHoursResp, *http.Response, error) {
	hours := new(VenueHoursResp)
	response := new(Response)
	resp, err := s.sling.New().Get(id+"/hours").Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, hours)
	}
	return hours, resp, relevantError(err, *response)
}
type venueLikesResp struct {
	Likes LikesResp `json:"likes"`
}
type LikesResp struct {
	Count   int    `json:"count"`
	Summary string `json:"summary"`
	Items   []User `json:"items"`
	Like    bool   `json:"like"`
}
func (s *VenueService) Likes(id string) (*LikesResp, *http.Response, error) {
	likes := new(venueLikesResp)
	response := new(Response)
	resp, err := s.sling.New().Get(id+"/likes").Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, likes)
	}
	return &likes.Likes, resp, relevantError(err, *response)
}
type venueLinkResp struct {
	Links Links `json:"links"`
}
type Links struct {
	Count int    `json:"count"`
	Items []Link `json:"items"`
}
type Link struct {
	Provider Provider `json:"provider"`
	LinkedID string   `json:"linkedId"`
	URL      string   `json:"url"`
}
type Provider struct {
	ID string `json:"id"`
}
func (s *VenueService) Links(id string) (*Links, *http.Response, error) {
	links := new(venueLinkResp)
	response := new(Response)
	resp, err := s.sling.New().Get(id+"/links").Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, links)
	}
	return &links.Links, resp, relevantError(err, *response)
}
type ListedGroup string
const (
	GroupListedOther ListedGroup = "other"
)
type VenueListedParams struct {
	VenueID string      `url:"-"`
	Group   ListedGroup `url:"group,omitempty"`
	Limit   int         `url:"limit,omitempty"`
	Offset  int         `url:"offset,omitempty"`
}
type venueListedResp struct {
	Lists Listed `json:"lists"`
}
func (s *VenueService) Listed(params *VenueListedParams) (*Listed, *http.Response, error) {
	lists := new(venueListedResp)
	response := new(Response)
	resp, err := s.sling.New().Get(params.VenueID+"/listed").QueryStruct(params).Receive(response, response)
	if err == nil {
		json.Unmarshal(response.Response, lists)
	}
	return &lists.Lists, resp, relevantError(err, *response)
}
type venueNextVenuesResp struct {
	NextVenues nextVenues `json:"nextVenues"`
}
type nextVenues struct {
	Count int     `json:"count"`
	Items []Venue `json:"items"`
}