POST api/Bike/CaptureService
Used to record services not executed by a linked partner or for historic services at a linked partner Please provide the information as well as what gear was serviced When used to record info against a Jobcard (Service request), please fill in the ServiceRequestID = jobcard.ID, else leave servicerequestid zero This function is used to capture a new service log.
Request Information
URI Parameters
None.
Body Parameters
CaptureBikeServiceModelName | Description | Type | Additional information |
---|---|---|---|
BikeID |
Links to bike |
integer |
None. |
PartnerID |
Links to partner (Cycle shop): When a service is done at a cycle shop that runs hubtiger, this field is filled in, else the CycleshopDescription field is filled in |
integer |
None. |
CycleshopDescription |
When a service is done at a cycle shop that runs hubtiger, PartnerID is filled in, else the CycleshopDescription field is filled in |
string |
None. |
ServiceRequestID |
ServiceRequestID (Jobcard) to be filled in when this is done as part of a partner service, not for capturing historic or services done by "not linked" cycle shops |
integer |
None. |
ServiceDate |
Date of service |
date |
None. |
Rating |
Provide a 1, 2,3, 4 or 5 start rating for the service |
integer |
None. |
Notes |
Provide an optional note on your service experience and work done |
string |
None. |
ServicedGear |
Only provide list of gear which was serviced |
Collection of CaptureGearServiceModel |
None. |
Request Formats
application/json, text/json
{ "BikeID": 1, "PartnerID": 2, "CycleshopDescription": "sample string 3", "ServiceRequestID": 4, "ServiceDate": "2025-09-05T16:05:43.8946834+00:00", "Rating": 6, "Notes": "sample string 7", "ServicedGear": [ { "GearID": 1, "KmServiceInterval": 2, "MinutesServiceInterval": 3, "Replaced": true, "Replaced_Manufacturer": "sample string 5", "Replaced_Model": "sample string 6", "Replaced_Description": "sample string 7", "InvoiceLineItemID": 8 }, { "GearID": 1, "KmServiceInterval": 2, "MinutesServiceInterval": 3, "Replaced": true, "Replaced_Manufacturer": "sample string 5", "Replaced_Model": "sample string 6", "Replaced_Description": "sample string 7", "InvoiceLineItemID": 8 } ] }
application/xml, text/xml
<CaptureBikeServiceModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Hub.Server.Models.DTO"> <BikeID>1</BikeID> <CycleshopDescription>sample string 3</CycleshopDescription> <Notes>sample string 7</Notes> <PartnerID>2</PartnerID> <Rating>6</Rating> <ServiceDate>2025-09-05T16:05:43.8946834+00:00</ServiceDate> <ServiceRequestID>4</ServiceRequestID> <ServicedGear> <CaptureGearServiceModel> <GearID>1</GearID> <InvoiceLineItemID>8</InvoiceLineItemID> <KmServiceInterval>2</KmServiceInterval> <MinutesServiceInterval>3</MinutesServiceInterval> <Replaced>true</Replaced> <Replaced_Description>sample string 7</Replaced_Description> <Replaced_Manufacturer>sample string 5</Replaced_Manufacturer> <Replaced_Model>sample string 6</Replaced_Model> </CaptureGearServiceModel> <CaptureGearServiceModel> <GearID>1</GearID> <InvoiceLineItemID>8</InvoiceLineItemID> <KmServiceInterval>2</KmServiceInterval> <MinutesServiceInterval>3</MinutesServiceInterval> <Replaced>true</Replaced> <Replaced_Description>sample string 7</Replaced_Description> <Replaced_Manufacturer>sample string 5</Replaced_Manufacturer> <Replaced_Model>sample string 6</Replaced_Model> </CaptureGearServiceModel> </ServicedGear> </CaptureBikeServiceModel>
application/x-www-form-urlencoded
Sample not available.
Response Information
Resource Description
BikeModelName | Description | Type | Additional information |
---|---|---|---|
ID |
When adding a bike, ensure id = 0 |
integer |
None. |
TypeID | integer |
None. |
|
Type |
Readonly property returned when you fetch a bike |
string |
None. |
UserID |
Links bike to user |
integer |
None. |
CyclistDescription |
Readonly property returned when you fetch a bike |
string |
None. |
RefNo | string |
None. |
|
SerialNo | string |
None. |
|
Manufacturer | string |
None. |
|
Model | string |
None. |
|
Colour | string |
None. |
|
ModelYear | integer |
None. |
|
Km |
This is a calculated value - calculated from the sum of rides. To start off with a number of kms, insert one ride entry in the past with the required no of kms (note that rides are in meters) |
decimal number |
None. |
MovingTime |
This is a calculated value - calculated from the sum of rides. Minutes |
integer |
None. |
LastService | date |
None. |
|
DateBought | date |
None. |
|
StatusID |
Valid vales = 1, 2: lookup list of values with descriptions can be found on api/lookup |
integer |
None. |
Status |
Readonly property returned when you fetch a bike |
string |
None. |
MinutesToNextService |
Calculated based on service intervals of gear items, when they were added, and rides taken since, returns value of first item requiring service |
integer |
None. |
HoursToNextService | integer |
None. |
|
KmToNextService |
Calculated based on service intervals of gear items, when they were added, and rides taken since, returns value of first item requiring service |
integer |
None. |
KmSinceLastService |
Calculated field based on last service date and rides since |
integer |
None. |
MovingTimeSinceLastService |
Calculated field based on last service date and rides since in minutes |
integer |
None. |
ImageURL |
Field is populated by uploading an image for a bike. |
string |
None. |
ServicePercentage |
Calculated from the service percentages on gear |
integer |
None. |
Strava_Id | string |
None. |
|
IntegrationStatusID | integer |
None. |
|
OpeningKm | integer |
None. |
|
OpeningHours | integer |
None. |
|
UnitsOfMeasureID | integer |
None. |
|
HasKMBasedGear | boolean |
None. |
|
HasHourBasedGear | boolean |
None. |
|
BikeSize | string |
None. |
|
PartnerType | integer |
None. |
Response Formats
application/json, text/json
{ "ID": 1, "TypeID": 2, "Type": "sample string 3", "UserID": 4, "CyclistDescription": "sample string 5", "RefNo": "sample string 6", "SerialNo": "sample string 7", "Manufacturer": "sample string 8", "Model": "sample string 9", "Colour": "sample string 10", "ModelYear": 11, "Km": 12.1, "MovingTime": 13, "LastService": "2025-09-05T16:05:43.8946834+00:00", "DateBought": "2025-09-05T16:05:43.8946834+00:00", "StatusID": 14, "Status": "sample string 15", "MinutesToNextService": 16, "HoursToNextService": 17, "KmToNextService": 18, "KmSinceLastService": 19, "MovingTimeSinceLastService": 20, "ImageURL": "sample string 21", "ServicePercentage": 22, "Strava_Id": "sample string 23", "IntegrationStatusID": 24, "OpeningKm": 25, "OpeningHours": 26, "UnitsOfMeasureID": 27, "HasKMBasedGear": true, "HasHourBasedGear": true, "BikeSize": "sample string 30", "PartnerType": 31 }
application/xml, text/xml
<BikeModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Hub.Server.Models.DTO"> <BikeSize>sample string 30</BikeSize> <Colour>sample string 10</Colour> <CyclistDescription>sample string 5</CyclistDescription> <DateBought>2025-09-05T16:05:43.8946834+00:00</DateBought> <HasHourBasedGear>true</HasHourBasedGear> <HasKMBasedGear>true</HasKMBasedGear> <HoursToNextService>17</HoursToNextService> <ID>1</ID> <ImageURL>sample string 21</ImageURL> <IntegrationStatusID>24</IntegrationStatusID> <Km>12.1</Km> <KmSinceLastService>19</KmSinceLastService> <KmToNextService>18</KmToNextService> <LastService>2025-09-05T16:05:43.8946834+00:00</LastService> <Manufacturer>sample string 8</Manufacturer> <MinutesToNextService>16</MinutesToNextService> <Model>sample string 9</Model> <ModelYear>11</ModelYear> <MovingTime>13</MovingTime> <MovingTimeSinceLastService>20</MovingTimeSinceLastService> <OpeningHours>26</OpeningHours> <OpeningKm>25</OpeningKm> <PartnerType>31</PartnerType> <RefNo>sample string 6</RefNo> <SerialNo>sample string 7</SerialNo> <ServicePercentage>22</ServicePercentage> <Status>sample string 15</Status> <StatusID>14</StatusID> <Strava_Id>sample string 23</Strava_Id> <Type>sample string 3</Type> <TypeID>2</TypeID> <UnitsOfMeasureID>27</UnitsOfMeasureID> <UserID>4</UserID> </BikeModel>