# MovementSdk

## Classes

[`class Category`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/category)

Foursquare category for a venue.

[`class CurrentLocation`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/currentlocation)

An object representing the current location of the user.

[`class DebugLog`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/debuglog)

An individual log statement.

[`class FeedbackProvider`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/feedbackprovider)

Feedback provider contains methods for providing feedback on Movement SDK visits and venues.

[`class Geofence`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/geofence)

Virtual boundary around a physical location or area, the boundary can be circular (with a radius and centered on a venue or lat/lng) or polygonal.

[`class GeofenceEvent`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/geofenceevent)

An object representing an interaction with one or more registered geofence radii.

[`class Journey`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/journey)

Represents a journey to a Foursquare venue or geofence.

[`class LastKnownUserState`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/lastknownuserstate)

Represents the most recently known user state information retrieved with [`lastKnownUserState`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/movementsdkmanager/lastknownuserstate).

[`class MovementSdkManager`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/movementsdkmanager)

Class for configuring the Movement SDK in your app to get background location updates with context.

[`class UserInfo`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/userinfo)

An object representing user information to be added by the Movement SDK partner app.

[`class UserSegment`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/usersegment)

For applications utilizing User Segments, returns a list of segment categories that categorize the user based on locations they’ve visited.

[`class UserState`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/userstate)

User States will be used to keep track of different states of locations that people can be in i.e. travel, sick.

[`class Venue`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/venue)

Representation of a venue in the Foursquare Places database.

[`class Visit`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/visit)

Everything Pilgrim knows about a user’s location, including raw data and a probable venue.

[`class VisitTester`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/visittester)

Class for sending test visits through to the app delegate.

## Protocols

[`protocol MovementSdkManagerDelegate`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/movementsdkmanagerdelegate)

Implement this protocol on an object that you will retain for as long as you want to receive location context updates.

## Structures

[`struct UserStateComponent`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/userstatecomponent)

Components of a user’s state that can change, reported through the delegate method [`movementManager(_:handle:changedComponents:)`](https://developer.foursquare.com/sdk-reference/movementsdk/ios/4.0.3/documentation/movementsdk/movementsdkmanagerdelegate/movementmanager(_:handle:changedcomponents:)).
