Cubos
🇬🇧 EN

Welcome to the Cubos documentation

Introduction

This comprehensive guide will help you understand and make the most of all the features of the Cubos platform for concrete fleet management.

What is Cubos?

Cubos is a SaaS (Software as a Service) platform specifically designed for companies operating in the ready-mix concrete industry. The platform manages the entire operational cycle: from order creation, to driver assignment, real-time GPS tracking, transport document (DDT) generation, and digital signature collection.

Platform overview

The Cubos platform consists of two main components that work together:

Web Dashboard

A browser-accessible web application designed for plant managers, administrators, and office staff. It allows managing orders, vehicles, drivers, shifts, customers, maintenance, and much more.

Cubos Driver App

A mobile application (iOS and Android) dedicated to drivers. It allows managing work shifts, viewing assigned orders, tracking deliveries with GPS, collecting digital signatures, and recording operational data.

Who uses Cubos

The platform is designed for different business roles, each with their own access level:

  • Administrator — Manages all plants and company personnel. Can create users, configure plants and view global reports.
  • Plant Manager — Manages daily operations of a single facility: orders, shifts, vehicles, and assigned personnel.
  • Driver — Uses the mobile app to manage shifts, view assigned orders and complete deliveries.
  • Mechanic — Manages breakdown reports, scheduled maintenance and spare parts requests.
  • Office Staff — Manages office tasks: holidays, sick leave, PPE and administrative reports.

Dashboard

The Dashboard is the main page of the platform and provides a real-time overview of facility operations.

Key Performance Indicators (KPIs)

At the top of the dashboard you'll find cards with key indicators:

  • Active vehicles — Number of vehicles currently on shift.
  • Cubic meters today — Total volume of concrete delivered today, compared to yesterday.
  • Completed orders — Number of orders completed today.
  • Active shifts — Number of drivers currently on duty.
  • Total hours — Sum of hours worked by all drivers today.

Production chart

The chart shows the trend of cubic meters delivered over time. You can select three time ranges: last 7 days, last 30 days, or last 3 months. This helps you identify trends and plan production.

Weather widget

The weather widget shows current atmospheric conditions in the facility area. Useful information for logistics planning, as bad weather can affect concrete deliveries.

Recent orders

At the bottom of the dashboard you'll find the list of most recent orders with status, customer, delivery address, and assigned driver. Click an order to view its details.

Orders

The Orders section is the operational heart of the platform. From here you can create, monitor, and manage all concrete delivery orders.

Create an order

To create a new order, click the "New Order" button on the Orders page. The process consists of three sections:

Section 1: Driver Assignment

Select the driver from the list of active shifts. Only drivers with an active shift are shown. By default, drivers who already have an active order are excluded from the list.

If the selected driver operates a pump vehicle, the "Pump Order" checkbox will appear

If the selected driver operates a pump vehicle, the "Pump Order" checkbox will appear. Activating it will create the order as a Master Order (see dedicated section).

Section 2: Material Details

Fill in the details of the material to be delivered:

Available fields:

  • Article Code (required) — E.g., "RCK 300 XC2 S4". The system automatically suggests recently used articles.
  • Quantity in m³ (required) — Volume of concrete, in 0.5 m³ increments.
  • Added components (optional) — E.g., "Plasticizer, Fibers".
  • Notes (optional) — Special delivery instructions.

Section 3: Carrier Information

Optional and collapsible section for carrier/transporter data:

Available fields:

  • Carrier name
  • Carrier email — If filled in, the DDT can be automatically sent to this address.
  • Carrier VAT number
  • Carrier phone
  • Carrier address

All required fields are highlighted with an animation if not filled when saving.

Master Order

What is a Master Order?

The Master Order (or Pump Order) is a special type of order that represents the positioning of a pump at a construction site. It functions as a "parent" order to which multiple "child" orders (the feeding deliveries that bring concrete to the pump) can be linked.

When to use it

Use the Master Order when a construction site requires a pump for concrete pouring. The pump stays at the site while different mixer trucks feed it with material.

How to create a Master Order

  1. Select a driver operating a pump vehicle.
  2. Activate the "Pump Order" checkbox that appears automatically.
  3. Fill in the material and construction site details.
  4. Save the order. It will be created as a Master Order.

Child Orders (Pump Feeding)

Once the Master Order is created, you can create child orders for the mixer trucks that will feed the pump:

  1. In the Orders Map view, locate the construction site with the pump.
  2. Click the "Feed Pump" button.
  3. The order creation form will open pre-filled with the site data.
  4. Select a different driver (with mixer truck) and specify the material quantity.
  5. The child order will be automatically linked to the master order.

Master Order Signatures

The signature process for master orders is special: when the pump driver signs the master order (with customer and driver signatures), the customer signature is automatically propagated to all child orders. Each child order retains its own driver signature.

Order workflow

Each order follows a predefined workflow with progressive statuses. The order status is updated automatically by the driver app or manually from the dashboard.

Order statuses

ScheduledThe order has been created and is waiting to be assigned to a driver.
AssignedThe order has been assigned to a driver with an active shift.
In TransitThe vehicle is traveling to the delivery site.
ArrivedThe vehicle has arrived at the construction site.
UnloadingConcrete delivery is in progress.
Pending SignatureUnloading is complete, awaiting customer and driver signatures.
CompletedThe order has been completed with all signatures collected.
CancelledThe order has been cancelled.

Color coding

Each status has an associated color for quick visual identification: gray (scheduled), blue (assigned), purple (in transit), amber (arrived), orange (unloading), teal (pending signature), green (completed), red (cancelled).

Map & Table View

The Orders page offers two display modes:

Table View

The default view shows orders in a grid format with individual cards. Each card shows: order number, customer, address, driver, m³, and status. You can search by order number or address, filter by status, and load more orders with the "Load more" button.

Map View

The Map view shows an interactive map with construction sites and vehicles. Sites are represented by orange markers with a building icon. The map supports dynamic clustering (grouping markers at low zoom levels).

Map actions

On the map you can perform several actions:

  • Left-click on a site — Shows site information with a "New Order" button to create an order for that site.
  • Right-click on the map — Opens a context menu to create a new construction site at that location.
  • "Feed Pump" button — Appears on sites with an active master order, to create child orders.

DDT - Transport Document

The DDT (Documento di Trasporto) is a mandatory document in Italy for transporting goods. Cubos automatically generates the DDT in PDF format for every completed order.

DDT contents

The generated DDT includes:

  1. Sender company data (tenant header).
  2. DDT number and date.
  3. Recipient customer data (company name, VAT, address, phone).
  4. Carrier data (if present).
  5. Material specifications (article code, exposure class, consistency).
  6. Delivery address.
  7. CIG/CUP codes (for public works).
  8. Signatures (driver and customer).
  9. QR Code for order tracking.

DDT email delivery

If a carrier email address was specified in the order, the DDT can be automatically sent via email. The system also supports bulk DDT sending for master orders, which includes all documents from linked child orders.

Order timeline

The Timeline provides a vertical visualization of the order's progress with 6 progressive steps:

1

Assigned — The order has been assigned to the driver.

2

In Transit — The vehicle is traveling to the construction site.

3

Arrived — The vehicle has arrived at the destination.

4

Unloading — Delivery is in progress. Shows pumped cubic meters if available.

5

Signature — Awaiting signatures. For child orders it shows "awaiting collective signature".

6

Completed — Order concluded with all signatures collected.

Visual indicators

Completed steps show a green circle with icon, the current step shows a blue circle with pulsing animation, pending steps show a gray circle. Connecting lines follow the same color logic.

Driver assignment

The driver selector shows only drivers with an active shift. Behavior varies based on user role:

  • The plant manager can only see drivers from their own plant.
  • The administrator can see all company drivers.

By default, drivers who already have active (incomplete) orders are excluded from the list to prevent over-assignment.

Shifts

The Shifts section allows you to monitor and manage driver work shifts.

What is a shift?

A shift represents a driver's work period. It includes start and end times, the vehicle used, odometer readings, and all events recorded during the shift.

Shift data

Each shift records:

  • Start and end times.
  • Assigned vehicle.
  • Starting facility.
  • Initial and final odometer readings.
  • Total duration and breaks.
  • Status: active or completed.

Shift events

During a shift, several types of events can be recorded:

  • Lunch break — Start and end of the break.
  • Refueling — Liters, cost, km driven since last refueling, fuel type (Diesel/AdBlue).
  • Maintenance — Reporting vehicle problems during the shift.
  • Location — Automatic GPS updates.

Shift statistics

For each shift, the following are calculated: total cubic meters delivered, number of completed orders, kilometers traveled, hours worked (excluding breaks).

Available filters

You can filter shifts by: status (all/active/completed), time range (today/this week/this month/all time), and search by driver name.

Vehicles

The Vehicles section allows you to manage the entire fleet of vehicles at the facility.

Vehicle types

Cubos supports different asset types:

  • Pump — Vehicle with boom arm for pumping concrete. Includes boom length data.
  • Chute/Mixer — Vehicle for transporting and directly discharging concrete.

Vehicle information

For each vehicle: license plate, Fleet ID (internal identifier), brand, model, year, asset type, assigned facility, assigned driver, and status.

Vehicle statuses

  • Active — The vehicle is operational and available.
  • In maintenance — The vehicle is out of service for technical work.
  • Inactive — The vehicle is not operational.

Document expiries

For each vehicle you can monitor expiry dates for: insurance, inspection, and road tax. The system automatically notifies when a document is approaching expiry (30 days before).

Vehicles on the map

Vehicles are displayed on the map with colored markers based on their status: blue (delivering), green (active), red (maintenance), yellow (on break), gray (inactive). Pumps have larger square markers, mixers have circular markers.

Drivers

The Drivers section allows you to manage driver profiles at the facility.

Driver information

For each driver: full name, email, phone, tax code, address, date and place of birth, contract type, hire date, hourly rate, emergency contact.

Driver management

From the Drivers page you can: view the list of all drivers at your facility (or company for admins), add new drivers, edit personal and employment data, and change facility assignment.

Driver visibility depends on your role: plant managers only see their assigned drivers, while the administrator sees all company drivers.

Customers

The Customers section allows you to manage the company's customer database.

Customer types

Cubos supports three customer types:

  • Business — Customer with VAT number and company name.
  • Private — Individual customer.
  • Public Administration — Government entity.

Customer information

For each customer: company name, VAT number, tax code, registered address, billing address (if different), phone, mobile, email, PEC (certified email), SDI code for electronic invoicing, payment terms, payment method, discount percentage, customer code.

Customer management

From the Customers page you can: search customers by company name, filter by type (business/private/PA), show/hide inactive customers, create new customers, edit existing data, view a customer's order history.

Facilities

The Facilities section allows you to manage the company's different production sites.

What is a facility?

A facility represents a physical concrete production site. Each facility has its own GPS coordinates and serves as a reference point for assigned vehicles and drivers.

Multi-facility

The platform supports managing multiple facilities simultaneously. Company admins can switch between facilities using the selector in the dashboard header. Plant managers only see data from their own facility.

Facility data

For each facility: name, address, GPS coordinates (latitude and longitude), and the list of assigned vehicles and personnel.

Map

The Map page provides a real-time visualization of all facility vehicle positions.

Map features

The interactive map shows:

  • Real-time position of all vehicles with continuous updates.
  • Colored markers by vehicle status (delivering, active, on break, maintenance).
  • Facility marker as origin point (orange icon).
  • Dynamic vehicle clustering at low zoom levels.
  • Information popup when clicking a vehicle: Fleet ID, license plate, driver, current order.

Vehicle colors

Blue: delivering, Green: active without orders, Red: in maintenance, Yellow: driver on break, Gray: inactive/offline.

Statistics

The Statistics page provides an analytical overview of operational performance with charts, rankings and key indicators.

Date range

Select the analysis period from the available presets: last 7 days, 30 days, 3 months or full history. All data and charts update based on the selection.

Key indicators

The cards at the top show: total cubic metres delivered, completed orders, average delivery time and pump efficiency. Each indicator compares the current period with the previous one, showing the percentage change.

Production chart

A line chart shows the daily trend of cubic metres delivered over the selected period.

Vehicle ranking

The top 10 vehicles by pumped concrete volume, with average per order.

Customer ranking

The top 10 customers by ordered volume, with average per order.

Material statistics

Breakdown by material type: order count and cubic metres for each article code.

The administrator can filter data by facility or view aggregated statistics for the entire company.

Office

The Office section manages all staff administrative tasks. It is organized into six tabs, each dedicated to a specific area.

The six tabs

The available tabs are: Staff Registry, Leave, Refueling, Requests, Incidents and Shifts & Hours. Each tab with pending items displays a red notification badge.

Staff Registry

The complete registry of facility drivers. Select a driver from the dropdown to view their detailed profile.

Available fields

For each driver: full name, email, phone, tax code, address, contract type, hire date, hourly rate, date and place of birth, emergency contact.

Edit profile

Clicking "Edit" lets you update the driver's details directly from the tab. Changes are saved via the cloud function.

Export

You can export the full registry in CSV or PDF format.

Leave & Sick Days

Management of leave and sick-day absences. The tab shows two sub-tabs: Leave and Sick Days.

Leave

Shows all leave requests with: driver, period (start and end date), number of days, request date and approval status (pending, approved, rejected).

Sick Days

List of sick-day reports with date, driver and status (pending/completed).

Approval

The plant manager approves requests for their facility. The administrator can approve company-wide requests.

Refueling

Fuel consumption monitoring for the fleet.

Fuel statistics

The cards at the top show: total refueling count, diesel litres consumed and AdBlue litres consumed in the selected period.

Refueling table

The detailed history shows: driver, date and time, diesel quantity (L), AdBlue quantity (L) and odometer reading (km). Refueling events in the same session (same driver, same km, within 2 minutes) are grouped automatically.

Export

You can export refueling history in CSV or PDF format, filtered by date range and driver.

Requests

Unified centre for all staff requests.

Summary

The cards at the top show: pending requests, leave requests, sick-day reports and PPE (Personal Protective Equipment) requests.

Request types

The tab handles four types: leave request, sick leave, PPE request and workplace injury report. Each request shows: type, driver, date and approval status.

Media attachments

Requests can include attached photos and videos, visible in the request detail view.

Incidents

Registry of road-accident and vehicle-damage reports.

Information

Each report includes: driver, vehicle plate, date and time of incident, status (pending/received). Photos and videos can be attached as evidence.

Shifts & Hours

Attendance calendar and worked-hours calculation for staff.

Attendance calendar

A visual calendar shows, for each driver, the days worked in the month. Days are coloured by status: worked, absent or no data.

Hours detail

The detailed table shows for each driver: shift start and end time, total hours, break duration, net hours and date. A summary of total net hours appears at the bottom.

Export

Attendance and worked-hours data can be exported in CSV or PDF format for payroll processing.

Workshop

The Workshop section manages technical reports and vehicle maintenance.

Report types

The workshop manages:

  • Breakdown — Report of a mechanical or technical failure on a vehicle.
  • Scheduled maintenance — Planned maintenance intervention.
  • Inspection — Technical vehicle check.
  • Incident — Vehicle damage report.
  • Spare parts request — Ordering replacement parts.

Priority levels

Each report has a priority level: low, medium, high, urgent. Priority determines the intervention order.

Report information

Each report includes: affected vehicle, problem description, priority, status (pending/in progress/completed), assigned technician, photo/video evidence, resolution notes.

Notifications

The Cubos notification system keeps operators informed about important events in real-time.

Notification types

Notifications are generated for:

  • Orders — Order completed, signature required, delivery delayed.
  • Maintenance — New breakdown report, spare parts arrived, inspection due.
  • Shifts — Shift started, shift ended.
  • Documents — Insurance, inspection, or road tax expiring within 30 days.
  • Office — New vacation request, sick leave, incident.

Notification center

The notification center is accessible from the bell icon in the header. It shows a badge with the unread notification count. From here you can: read notifications, mark as read individually or all at once, delete notifications, click to navigate directly to the relevant page.

Real-time updates

Notifications are updated in real-time automatically. Badge counts are updated whenever a new notification arrives.

Settings

The Settings page allows you to customize your user profile and application preferences.

Personal profile

You can edit: full name, phone, email (read-only). The assigned facility is visible but can only be changed by administrators.

Password change

From the security section you can change your account password by entering your current password and the new one with confirmation.

Preferences

Available preferences are:

  • Language — Select from 10 available languages: Italian, English, German, French, Spanish, Polish, Portuguese, Dutch, Romanian, Croatian.
  • Timezone — Timezone setting (default: Europe/Rome).
  • Distance unit — Kilometers or miles.
  • Theme — Choose between light mode, dark mode, or automatic (follows system settings).
  • Text size — Small, normal, or large to improve readability.

Company Management

The company administrator can manage subscriptions, customize branding and configure company settings.

Subscription

Manage your plan here: view current status (trial, active, suspended), renewal date and per-driver monthly cost.

Customization

Each company can customize their brand with: company logo, primary and secondary colors.

Complete guide to the mobile application for drivers

Cubos Driver App

Cubos Driver is the mobile application dedicated to concrete fleet drivers. Available for iOS and Android, it allows managing work shifts, viewing and completing orders, collecting digital signatures, and much more.

App navigation

The app is organized with 5 tabs in the bottom bar:

  • Dashboard — Active shift management, quick actions, timer.
  • Orders — Current order view and delivery details.
  • Add — Central button for manual order creation.
  • History — List of completed orders.
  • Profile — Personal data, statistics, settings.

Login

To access the Cubos Driver app, you need an account with the "driver" role created by the platform administrator.

Login process

Enter your email and password. The app saves your credentials locally for future access. If you forgot your password, contact your plant manager.

After login

After authentication, the app loads the driver profile and shows the main screen. If you don't have an active shift, you'll see the button to start one.

Shift Management

Shift management is the starting point of every workday in the app.

Starting a shift

To start your shift, fill in the following fields:

  • Vehicle — Select the vehicle from the list of active vehicles. If you have an assigned vehicle, it's pre-selected.
  • Facility — Select the starting facility. Pre-filled with your assigned facility.
  • Initial odometer — Enter the current odometer reading. The system shows the final reading from the last shift as reference.

GPS background tracking is activated when the shift starts.

Active shift dashboard

During an active shift, the dashboard shows:

  • Real-time timer — Hours, minutes, and seconds worked (excluding lunch breaks).
  • Current vehicle — Information about the vehicle in use.
  • Current facility — With the option to change during the shift.
  • Vehicle status — Active, delivering, on break, in maintenance.

Quick actions

Available quick actions during the shift are:

  • Lunch break — Toggle to start/end break. The timer pauses during the break.
  • Refuel — Opens the refueling registration screen.
  • Maintenance — Toggle to report ongoing maintenance.
  • Report issue — For breakdowns or vehicle problems.

Ending the shift

To end the shift (only available if there are no active orders):

  1. Enter the final odometer reading.
  2. The system shows a summary: initial km, final km, hours worked, deliveries made.
  3. Confirm to close the shift. GPS tracking is deactivated.

Driver Orders

The Orders tab shows the order currently assigned to the driver.

Viewing an order

The assigned order shows: order number, customer name, delivery address, quantity in m³, product type, special notes.

Navigation to the site

Clicking the navigation button, the app offers a choice between different navigation apps: Apple Maps, Google Maps and Waze. Built-in navigation with HERE Maps is also available.

Voice navigation

Built-in navigation with HERE Maps includes turn-by-turn voice directions. You can toggle voice guidance on or off with the volume button during navigation.

Avoid zones

You can save restricted zones (e.g. low-emission zones, narrow streets, low bridges) that will be automatically avoided during navigation. Zones are shared with all drivers in the same company and updated in real time.

Manual order creation

The driver can create an order manually (e.g., for cash jobs or urgent deliveries) from the "Add" tab. Requires: DDT number and quantity in m³. The order is created in "Assigned" status and linked to the active shift.

Delivery Workflow

The delivery workflow is the process the driver follows to complete an order. It consists of 4 sequential phases:

1

Phase 1: Record Arrival

When you arrive at the construction site, press "Record Arrival". The arrival timestamp is saved. The app shows the message to proceed with unloading.

2

Phase 2: Start Unloading

Press "Start Unloading" to record the beginning of delivery. A timer activates showing the unloading duration in real-time.

3

Phase 3: End Unloading

When unloading is complete, press "End Unloading". The completion timestamp is recorded. If the vehicle is a pump, the pump data modal will appear.

4

Phase 4: Record Departure

Press "Record Departure" to complete the delivery workflow. This unlocks the signature phase.

After delivery

After completing all 4 phases, the signature collection modal opens automatically.

Pump Data

When the driver's vehicle is a pump, a modal appears at the end of unloading to enter specific pumping data.

Available fields

The data to enter are:

  • Cubic meters pumped — Actual volume pumped. Pre-filled with the order quantity.
  • Number of placements — How many times the pump was repositioned. Default: 1.
  • Tube meters — Total length of tubes used.
  • Water added (liters) — Amount of water added during pumping.

Digital Signatures

Digital signature collection is the final step to complete an order.

Signature process

The signature modal requires:

  1. Customer name — Text field for the signing person's name.
  2. Customer signature — Drawing canvas where the customer signs with their finger.
  3. Driver signature — Drawing canvas for the driver's signature.

Signature types by order type

The signature process varies based on order type:

  • Normal order — Requires customer signature + driver signature.
  • Child order (pump feeding) — Requires only the driver's signature. Customer signature will be propagated from the master order.
  • Master order (pump) — Requires customer signature + driver signature. Verifies that all child orders have completed departure. Customer signature is automatically propagated to all child orders.

After collecting signatures, a confirmation window appears. Upon confirming, the order moves to "Completed" status and the plant manager is notified.

GPS Tracking

The Cubos Driver app tracks the driver's GPS position during the work shift.

How it works

GPS tracking activates automatically at the start of the shift and deactivates at the end. The app tracks position both in the foreground and in the background, even when the phone is locked.

Foreground tracking

When the app is open, location is updated continuously for real-time display.

Background tracking

When the app is in the background or the phone is locked, tracking continues every 10-30 seconds via the background task system.

Data collected

For each GPS update: latitude, longitude, speed, signal accuracy, timestamp, and whether the update occurred in the background.

Required permissions

The app requests location permission at the first shift start. You need to grant "Always" or "While Using" permission for tracking to work correctly.

Refueling

The refueling screen allows recording fuel top-ups during the shift.

Fuel types

The app supports two fuel types with dedicated tabs:

  • Diesel — Main vehicle fuel.
  • AdBlue — Additive for emission reduction systems.

Fields to fill

To record a refueling, enter:

  • Current odometer — Current reading (shared between fuel types).
  • Liters — Quantity refueled for each fuel type.

When saving, a shift event of type "refueling" is created with all entered data.

Issue Reporting

The issue reporting feature allows the driver to communicate vehicle breakdowns and report absences from work.

How to report an issue

From the active shift dashboard, press "Report Issue". Describe the breakdown or problem encountered, take photos or record a video to document the issue. The report is sent to the workshop and plant manager.

Photos and videos

You can attach photos (from camera or gallery) and videos to the report. Files are uploaded to the cloud automatically.

Absence reporting

When you don't have an active shift, you can report an absence directly from the app. The available types are:

  • Leave — Request for a day off.
  • Sick day — Absence due to illness.
  • Rain — Absence due to adverse weather conditions.
  • No work — No work available for the day.
  • Personal leave — Absence for personal reasons.
  • Vehicle breakdown — Unable to work due to vehicle failure.
  • Other — Other reason (description required).

Absences are recorded with today's date and sent to the manager for approval.

History

The History tab shows the list of orders completed by the driver.

Available filters

You can filter orders by:

  • Today — Shows only orders completed today.
  • This month — Shows all orders for the current month.

Statistics

At the top, aggregate statistics are shown: total m³ delivered and total number of orders in the selected period.

Order detail

For each completed order: order number, volume in m³, date and time, customer and delivery address.

Profile

The Profile tab shows the driver's personal information, work statistics and monthly shift calendar.

Personal information

You can view and edit: full name, phone, address, date of birth, place of birth, emergency contact (name and phone). Changes are saved to your profile.

Emergency contact

In the profile edit modal you can update the name and phone number of your emergency contact.

Work statistics

The profile shows your statistics:

  • Hours today — Real-time timer of the active shift.
  • Monthly hours — Total hours worked in the current month.
  • Monthly shifts — Detailed list of all shifts for the month with hours and vehicle.
  • Driver type — "Pump driver" or "Mixer driver" based on the last vehicle used.

Monthly shift calendar

Tapping "See all" on the monthly shifts opens a modal with the full month calendar. For each shift it shows: date, vehicle Fleet ID and hours worked.

Language selection

You can change the app language among the 10 available languages. The preference is saved and maintained between sessions.

Logout

To log out of the app, press "Log out". If you have an active shift, a warning will be shown. GPS tracking is stopped and local credentials are cleared.

Support

From the support screen you can contact us via email at support@cubos.app or consult the privacy and terms of service pages.