# Properties and Protocols

```
@protocol RPSpeedLimitDelegate <NSObject>
```

### Overspeed threshold period in seconds.

```
@property(nonatomic, readonly) NSTimeInterval timeThreshold;
```

### Max allowed speed in km/h.

```
@property(readonly) double speedLimit;
```

### Callback for overspeeding.

```
- (void)speedLimitNotification:(double)speedLimit
                         speed:(double)speed
                      latitude:(double)latitude
                     longitude:(double)longitude
                          date:(NSDate *)date;
```

### Represents a common info about user scoring.

```
@interface RPStatistics : NSObject<RPJSONSerializable> {
}
```

### The user rating points.

```
@property (assign, nonatomic) NSInteger rating;
```

### The user discount points in percentage.

```
@property (assign, nonatomic) NSInteger discount;
```

### The common driving level.

```
@property (assign, nonatomic) NSInteger drivingLevel;
```

### The common speed level.

```
@property (assign, nonatomic) NSInteger speedLevel;
```

### The common mileage level.

```
@property (assign, nonatomic) NSInteger mileageLevel;
```

### The phone usage level.

```
@property (assign, nonatomic) NSInteger phoneLevel;
```

### The time of days level.

```
@property (assign, nonatomic) NSInteger timeOfDayScore;
```

### Represents info about speed detail user scoring.

```
@interface RPStatisticsSpeed : NSObject
```

### Speeding score Range 0...100.

```
@property (assign, nonatomic) NSInteger speedRating;
```

### Above speed limit per 100 km in km.

```
@property (assign, nonatomic) double drivingOverSpeedLimitFor100Km;
```

### Above speed limit more than 20km/h per 100 km in km.

```
@property (assign, nonatomic) double drivingOverSpeedLimitMore20KmFor100Km;
```

### Max Speed in km/h.

```
@property (assign, nonatomic) NSInteger maximumSpeed;
```

### Average Speed in km/h.

```
@property (assign, nonatomic) NSInteger averageSpeed;
```

### Speeding in km/h.

```
@property (strong, nonatomic) NSArray<RPStatisticsPoint *> *drivingOverSpeedLimitDiagram;
```

### Speeding over 20km/h in km/h.

```
@property (strong, nonatomic) NSArray<RPStatisticsPoint *> *drivingOverSpeedLimitMore20KmDiagram;
```

### Represents info about Phone Usage detail user scoring.

```
@interface RPStatisticsPhone : NSObject<RPJSONSerializable> {
}
```

### &#x20;Phone Usage while driving scoring.

```
@property (assign, nonatomic) NSInteger phoneRating;
```

### Phone Usage while driving in min.

```
@property (assign, nonatomic) NSInteger usingPhoneWhileDriving;
```

### Phone Usage while driving with speed > 20km/h in min.

```
@property (assign, nonatomic) NSInteger usingPhoneWhileDrivingOverSpeedLimit;
```

### Phone Usage while driving diagram min/date.

```
@property (strong, nonatomic) NSArray<RPStatisticsPoint *> *usingPhoneWhileDrivingDiagram;
```

### Phone Usage while driving with speed > 20km/h diagram min/date.

```
@property (strong, nonatomic) NSArray<RPStatisticsPoint *> *usingPhoneWhileDrivingOverSpeedLimitDiagram;
```

### Represents info about Driving user scoring.

```
@interface RPStatisticsDriving : NSObject<RPJSONSerializable> {
}
```

### Common Driving rating.

```
@property (assign, nonatomic) NSInteger drivingRating;
```

### Frequency of harsh braking per 100km.

```
@property (assign, nonatomic) NSInteger heavyBrakingFrequencyFor100Km;
```

### Frequency of rapid accelerations per 100km.

```
@property (assign, nonatomic) NSInteger activeAccelerationFrequencyFor100Km;
```

### Harsh Braking during this period.

```
@property (assign, nonatomic) NSInteger heavyBrakingCountForPeriod;
```

### Rapid Accelerations for period.

```
@property (assign, nonatomic) NSInteger activeAccelerationCountForPeriod;
```

### Harsh Braking diagram data for period.

```
@property (strong, nonatomic) NSArray<RPStatisticsPoint *> *heavyBrakingDiagram;
 Rapid Accelerations diagram data for period count/date.@property (strong, nonatomic) NSArray<RPStatisticsPoint *> *activeAccelerationDiagram;
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-old.telematicssdk.com/response-codes/archive/back-end-to-app-integration/get-the-data-to-the-ios-app/statistics/properties-and-protocols.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
