Providers

Bolt

Bolt is a scooter sharing company in the EU.

class pyscooter.providers.bolt.Bolt(phone=None, uuid=None, server_url='')
pyscooter.providers.bolt.Bolt.login(self, phone: str, uuid: str) bool

Set phone and uuid.

Parameters
  • phone – The phone number your account is linked to. (International format)

  • uuid – A randomly generated UUID. Must stay the same for every call over your account.

Returns

True, won’t get validated.

pyscooter.providers.bolt.Bolt.set_location(self, latitude: int, longitude: int) bool

Set latitude and longitude.

Parameters
  • latitude – Latitude as int.

  • longitude – Longitude as int.

Returns

True, won’t get validated.

pyscooter.providers.bolt.Bolt.get_number_international_format(self)

Get phone number in international format.

Phone number and UUID must be set via .login() or during intializing.

Returns

dict with phone number in international format and status code.

pyscooter.providers.bolt.Bolt.request_sms(self)

Sends an SMS with a code to your phone.

Phone number and UUID must be set via .login() or during intializing.

Returns

dict with status code.

pyscooter.providers.bolt.Bolt.submit_sms_code(self, code: str)

Submit the sms code, request one with request_sms().

Phone number and UUID must be set via .login() or during intializing.

Parameters

code – The code you received via SMS.

Returns

dict with status code.

pyscooter.providers.bolt.Bolt.get_scooters(self, latitude, longitude)

Get all scooters in area.

Phone number and UUID must be set via .login() or during intializing. This endpoint will set server_url.

Parameters
  • latitude – Longitude as int.

  • longitude – Latitude as int.

Returns

dict with status code and all scooters in the zone, according to your coordinates.

pyscooter.providers.bolt.Bolt.get_scooter(self, code)

Get scooter information by code, includes vehicle_id.

Phone number and UUID must be set via .login() or during intializing.

Returns

dict with status code and information about scooter.

pyscooter.providers.bolt.Bolt.get_scooter_info(self, code, type='uuid')

Get detailed scooter information, including batery percentage.

Phone number and UUID must be set via .login() or during intializing.

Parameters
  • typeuuid or vehicle_id.

  • code – UUID or vehicle id, depending on what you set via type.

Returns

dict with status code and information about scooter.

pyscooter.providers.bolt.Bolt.ring_scooter(self, vehicle_id: str, latitude: int, longitude: int)

Ring scooter by vehicle_id.

Phone number and UUID must be set via .login() or during intializing.

Parameters
  • latitude – Latitude as int.

  • longitude – Longitude as int.

Returns

dict with status code

pyscooter.providers.bolt.Bolt.start_rent(self, code: str, payment_id: str)

Start rent.

Phone number and UUID must be set via .login() or during intializing.

Parameters
  • code – Code on the scooter (uuid)

  • payment_id – Payment ID, get by sniffing http traffic from app. Endpoint for this soon.

Returns

dict with status code and order_id.

pyscooter.providers.bolt.Bolt.get_order(self, order_id)

Get order information by order_id.

Phone number and UUID must be set via .login() or during intializing.

pyscooter.providers.bolt.Bolt.check_location(self, action, vehicle_id)

Check if scooter is in a non-parking area.

Phone number and UUID must be set via .login() or during intializing.

pyscooter.providers.bolt.Bolt.stop_rent(self, order_id)

Stop rent by order_id.

Phone number and UUID must be set via .login() or during intializing.