Data Contracts

4 contracts across 1 domains

Data Contract

exploration-supplier-explored-id
Open Data Contract Standard v3.1.0

Fundamentals

Basic information about the data contract

Name
Supplier Explored
Version
1.0.0
Status
active
Tenant
FairlyMade
Purpose
Supplier data for the customer's suppliers. A supplier corresponds to an entity who performs a process on a product, on a component, or on a material belonging to the customer's brand product OR a supplier declared by the customer.
Usage
Exposes product explored to several interfaces (App Suppliers Table, Extracts, SCI).
Limitations
Provides near-real time data

Entity Relationship Diagram

Visual representation of data model relationships

                    erDiagram
	"**suppliers_mart**" {
	id🔑🔒 string
	registry_customer_id string
	registry_customer_id_hash integer
	supplier_id string
	supplier_name string
	supplier_unique_identifier array
	address object
	supplier_certifications string
	number_of_employees integer
	percentage_of_women integer
	percentage_of_men integer
	production_capacity object
	heat_sources array
	average_heat_consumption object
	average_electricity_consumption object
	electricity_mix array
	number_of_associated_products integer
	declared_by_the_brand boolean
	process array
	has_rearchi_products boolean
}
	"**suppliers_x_products_mart**" {
	id🔑🔒 string
	registry_customer_id string
	registry_customer_id_hash integer
	brand_product_id⌘ string
	supplier_id string
	supplier_unique_identifier string
	supplier_involvement array
	declared_by_the_brand_at array
	is_rearchi boolean
}
	"**scope_certifications_mart**" {
	id🔑🔒⌘ string
	registry_customer_id string
	registry_customer_id_hash integer
	supplier_id string
	scope_certificate array
}

"**products_mart**" ||--o{ "**suppliers_x_products_mart**" : "brand_product_id → id"
"**suppliers_mart**" ||--o{ "**scope_certifications_mart**" : "id → id"

                  

Schema

The data schema and structure

suppliers_mart table
This table contains one row per (customer, supplier) pair, summarizing the supplier's factory information, certifications and the products supplied to the customer
Granularity: One row per customer and supplier
Property Business Name Type Required Description
id
Primary Key
-
string
Yes Unique identifier (generated by Fairly Made) of the customer/supplier pair. It corresponds to the concatenation of the registry customer id and the supplier id
registry_customer_id
-
string
Yes Unique registry identifier (generated by Fairly Made) of the customer
registry_customer_id_hash
-
integer
Yes Customer hash of the registry customer unique identifier
supplier_id
-
string
Yes Unique identifier (generated by Fairly Made) of the supplier
supplier_name
-
string
No The name of the supplier company
supplier_unique_identifier
-
array
No Supplier reference in the brand systems
  ↳ items
-
string
No -
address
-
object
No The postal address of the supplier company. Empty if unknown
  ↳ street
-
string
No Street part of the supplier address. Empty if unknown
  ↳ postal_code
-
string
No Postal code part of the supplier address. Empty if unknown
  ↳ city
-
string
No City of the supplier. Empty if unknown
  ↳ region
-
string
No Region of the supplier address. Empty if unknown
  ↳ country
-
string
No Country of the supplier. Empty if unknown
  ↳ latitude
-
number
No Latitude of the supplier address
  ↳ longitude
-
number
No Longitude of the supplier address
supplier_certifications
-
string
No The list of the supplier's certifications with their associated status
number_of_employees
-
integer
No The number of employees of the supplier, declared by the supplier itself. Empty if unknown
percentage_of_women
-
integer
No The percentage of women employees of the supplier, declared by the supplier itself. Empty if unknown
percentage_of_men
-
integer
No The percentage of men employees of the supplier, declared by the supplier itself. Empty if unknown
production_capacity
-
object
No Production capacity of the factory, as declared by the supplier
  ↳ value
-
number
No Value of the production capacity of the factory
  ↳ unit
-
string
No Unit of the production capacity of the factory
  ↳ time_frame
-
string
No Time frame of the production capacity of the factory
heat_sources
-
array
No The list of heat sources of the factory, as declared by the supplier
  ↳ items
-
string
No -
average_heat_consumption
-
object
No The average heat consumption of the factory, as declared by the supplier
  ↳ value
-
number
No Value of the average heat consumption of the factory
  ↳ unit
-
string
No Unit of the average heat consumption of the factory (MJ)
  ↳ time_frame
-
string
No Time frame of the average heat consumption of the factory
average_electricity_consumption
-
object
No The average electricity consumption of the factory, as declared by the supplier
  ↳ value
-
number
No Value of the average electricity consumption of the factory
  ↳ unit
-
string
No Unit of the average electricity consumption of the factory (kWh)
  ↳ time_frame
-
string
No Time frame of the average electricity consumption of the factory
electricity_mix
-
array
No The list of electricity sources of the factory with their associated percentage, as declared by the supplier
  ↳ items
-
object
No -
    ↳ source
-
string
No Source in the electricity mix
    ↳ percentage
-
number
No Proportion of the source in the electricity mix
number_of_associated_products
-
integer
No The number of product references the supplier is associated with (either as an agent or as responsible for a step in the production chain)
declared_by_the_brand
-
boolean
No True if the supplier has been declared by the brand on at least one product (at any scope, PRODUCT, COMPONENT or MATERIAL)
process
-
array
No List of distinct involvement types of the supplier across all its associated products (traceability steps, warehouse)
  ↳ items
-
string
No -
has_rearchi_products
-
boolean
No True if at least one product associated to this supplier for this customer comes from the rearchi data
suppliers_x_products_mart table
This table contains all the suppliers linked to a product and the source of the relationship
Granularity: One row per supplier and product
Property Business Name Type Required Description
id
Primary Key
-
string
Yes Unique identifier (generated by Fairly Made) of the supplier/product relationship. It corresponds to the concatenation of the brand product id and the supplier id
registry_customer_id
-
string
Yes Unique registry identifier (generated by Fairly Made) of the customer
registry_customer_id_hash
-
integer
Yes Customer hash of the registry customer unique identifier
brand_product_id
-
string
Yes Unique identifier (generated by Fairly Made) of the product
supplier_id
-
string
Yes Unique identifier (generated by Fairly Made) of the supplier
supplier_unique_identifier
-
string
No External reference of the supplier in the customer system
supplier_involvement
-
array
No List of involvement types for this supplier on the product (traceability steps, warehouse)
  ↳ items
-
string
No -
declared_by_the_brand_at
-
array
No List of scopes at which the brand declared this supplier (PRODUCT, COMPONENT, MATERIAL)
  ↳ items
-
string
No -
is_rearchi
-
boolean
Yes True if the product comes from the rearchi data
scope_certifications_mart table
This table contains one row per (customer, supplier) pair, aggregating all the scope certifications (at supplier level) declared for that supplier
Granularity: One row per customer and supplier
Property Business Name Type Required Description
id
Primary Key
-
string
Yes Unique identifier (generated by Fairly Made) of the customer/supplier pair. It corresponds to the concatenation of the registry customer id and the supplier id
registry_customer_id
-
string
Yes Unique registry identifier (generated by Fairly Made) of the customer
registry_customer_id_hash
-
integer
Yes Customer hash of the registry customer unique identifier
supplier_id
-
string
Yes Unique identifier (generated by Fairly Made) of the supplier
scope_certificate
-
array
No The list of the supplier's scope certifications with their associated status
  ↳ items
-
object
No -
    ↳ certification_id
-
string
No Unique identifier (generated by Fairly Made) of the certification
    ↳ standard
-
string
No Standard of the certificate, according to Fairly Made taxonomy (e.g. GOTS)
    ↳ validity_start_date
-
timestamp
No Start date of the certificate validity
    ↳ validity_end_date
-
timestamp
No End date of the certificate validity
    ↳ status
-
string
No Status of the certificate
    ↳ created_at
-
timestamp
No Date and time when the record was created in operational database

Support

Support channels and resources

  • #tech-support

    slack

Team

Team members and their roles

Exploration Squad
Providing access to customers and end-customers to aggregated data. Helping our customers to take data-driven decisions thanks to data visualisation, interaction and ecodesign scenarios.
Username Role Date In Date Out Comment
Martin Boby Product Manager 2026-01-01 - -
Alice Haupais Tech Lead 2026-01-01 - -
Charlie Beltran Analytics Engineer 2026-01-01 - -
Gustave Constans Software Engineer 2026-01-01 - -

Servers

Infrastructure servers of the data contract

  • Server
    dev
    Type
    bigquery
    Project
    fairlymade-data-platform-dev
    Dataset
    dev_exploration_supplier_explored
    Location
    europe-west1
  • Server
    stg
    Type
    bigquery
    Project
    fairlymade-data-platform-dev
    Dataset
    stg_exploration_supplier_explored
    Location
    europe-west1
  • Server
    prd
    Type
    bigquery
    Project
    fairlymade-data-platform-prd
    Dataset
    exploration_supplier_explored
    Location
    europe-west1
  • Server
    sandbox
    Type
    bigquery
    Project
    fairlymade-data-platform-dev
    Dataset
    sbx_exploration_supplier_explored
    Location
    europe-west1
Created at 12 Jun 2026 14:02:45 UTC with Data Contract CLI v0.11.1
version: 1.0.0
kind: DataContract
apiVersion: v3.1.0
id: exploration-supplier-explored-id
name: Supplier Explored
tenant: FairlyMade
tags: []
status: active
servers:
- server: dev
  type: bigquery
  dataset: dev_exploration_supplier_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: stg
  type: bigquery
  dataset: stg_exploration_supplier_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: prd
  type: bigquery
  dataset: exploration_supplier_explored
  location: europe-west1
  project: fairlymade-data-platform-prd
- server: sandbox
  type: bigquery
  dataset: sbx_exploration_supplier_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
description:
  usage: Exposes product explored to several interfaces (App Suppliers Table, Extracts,
    SCI).
  purpose: Supplier data for the customer's suppliers. A supplier corresponds to an
    entity who performs a process on a product, on a component, or on a material belonging
    to the customer's brand product OR a supplier declared by the customer.
  limitations: Provides near-real time data
domain: exploration
schema:
- name: suppliers_mart
  physicalType: table
  description: This table contains one row per (customer, supplier) pair, summarizing
    the supplier's factory information, certifications and the products supplied to
    the customer
  tags:
  - exploration
  - supplier_explored
  dataGranularityDescription: One row per customer and supplier
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the customer/supplier
      pair. It corresponds to the concatenation of the registry customer id and the
      supplier id
    primaryKey: true
    logicalType: string
    required: true
    unique: true
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: supplier_id
    description: Unique identifier (generated by Fairly Made) of the supplier
    logicalType: string
    required: true
    unique: false
  - name: supplier_name
    description: The name of the supplier company
    logicalType: string
    required: false
    unique: false
  - name: supplier_unique_identifier
    description: Supplier reference in the brand systems
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: address
    description: The postal address of the supplier company. Empty if unknown
    logicalType: object
    required: false
    unique: false
    properties:
    - name: street
      description: Street part of the supplier address. Empty if unknown
      logicalType: string
    - name: postal_code
      description: Postal code part of the supplier address. Empty if unknown
      logicalType: string
    - name: city
      description: City of the supplier. Empty if unknown
      logicalType: string
    - name: region
      description: Region of the supplier address. Empty if unknown
      logicalType: string
    - name: country
      description: Country of the supplier. Empty if unknown
      logicalType: string
    - name: latitude
      description: Latitude of the supplier address
      logicalType: number
    - name: longitude
      description: Longitude of the supplier address
      logicalType: number
  - name: supplier_certifications
    description: The list of the supplier's certifications with their associated status
    logicalType: string
    required: false
    unique: false
  - name: number_of_employees
    description: The number of employees of the supplier, declared by the supplier
      itself. Empty if unknown
    logicalType: integer
    required: false
    unique: false
  - name: percentage_of_women
    description: The percentage of women employees of the supplier, declared by the
      supplier itself. Empty if unknown
    logicalType: integer
    required: false
    unique: false
  - name: percentage_of_men
    description: The percentage of men employees of the supplier, declared by the
      supplier itself. Empty if unknown
    logicalType: integer
    required: false
    unique: false
  - name: production_capacity
    description: Production capacity of the factory, as declared by the supplier
    logicalType: object
    required: false
    unique: false
    properties:
    - name: value
      description: Value of the production capacity of the factory
      logicalType: number
    - name: unit
      description: Unit of the production capacity of the factory
      logicalType: string
    - name: time_frame
      description: Time frame of the production capacity of the factory
      logicalType: string
  - name: heat_sources
    description: The list of heat sources of the factory, as declared by the supplier
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: average_heat_consumption
    description: The average heat consumption of the factory, as declared by the supplier
    logicalType: object
    required: false
    unique: false
    properties:
    - name: value
      description: Value of the average heat consumption of the factory
      logicalType: number
    - name: unit
      description: Unit of the average heat consumption of the factory (MJ)
      logicalType: string
    - name: time_frame
      description: Time frame of the average heat consumption of the factory
      logicalType: string
  - name: average_electricity_consumption
    description: The average electricity consumption of the factory, as declared by
      the supplier
    logicalType: object
    required: false
    unique: false
    properties:
    - name: value
      description: Value of the average electricity consumption of the factory
      logicalType: number
    - name: unit
      description: Unit of the average electricity consumption of the factory (kWh)
      logicalType: string
    - name: time_frame
      description: Time frame of the average electricity consumption of the factory
      logicalType: string
  - name: electricity_mix
    description: The list of electricity sources of the factory with their associated
      percentage, as declared by the supplier
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: object
      properties:
      - name: source
        description: Source in the electricity mix
        logicalType: string
      - name: percentage
        description: Proportion of the source in the electricity mix
        logicalType: number
  - name: number_of_associated_products
    description: The number of product references the supplier is associated with
      (either as an agent or as responsible for a step in the production chain)
    logicalType: integer
    required: false
    unique: false
  - name: declared_by_the_brand
    description: True if the supplier has been declared by the brand on at least one
      product (at any scope, PRODUCT, COMPONENT or MATERIAL)
    logicalType: boolean
    required: false
    unique: false
  - name: process
    description: List of distinct involvement types of the supplier across all its
      associated products (traceability steps, warehouse)
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: has_rearchi_products
    description: True if at least one product associated to this supplier for this
      customer comes from the rearchi data
    logicalType: boolean
    required: false
    unique: false
- name: suppliers_x_products_mart
  physicalType: table
  description: This table contains all the suppliers linked to a product and the source
    of the relationship
  tags:
  - exploration
  - supplier_explored
  dataGranularityDescription: One row per supplier and product
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the supplier/product
      relationship. It corresponds to the concatenation of the brand product id and
      the supplier id
    primaryKey: true
    logicalType: string
    required: true
    unique: true
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: brand_product_id
    description: Unique identifier (generated by Fairly Made) of the product
    logicalType: string
    required: true
    unique: false
    relationships:
    - type: foreignKey
      to: products_mart.id
      customProperties:
      - property: cardinality
        value: many-to-one
      - property: description
        value: References products_mart in the product_explored contract
  - name: supplier_id
    description: Unique identifier (generated by Fairly Made) of the supplier
    logicalType: string
    required: true
    unique: false
  - name: supplier_unique_identifier
    description: External reference of the supplier in the customer system
    logicalType: string
    required: false
    unique: false
  - name: supplier_involvement
    description: List of involvement types for this supplier on the product (traceability
      steps, warehouse)
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: declared_by_the_brand_at
    description: List of scopes at which the brand declared this supplier (PRODUCT,
      COMPONENT, MATERIAL)
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
- name: scope_certifications_mart
  physicalType: table
  description: This table contains one row per (customer, supplier) pair, aggregating
    all the scope certifications (at supplier level) declared for that supplier
  tags:
  - exploration
  - supplier_explored
  dataGranularityDescription: One row per customer and supplier
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the customer/supplier
      pair. It corresponds to the concatenation of the registry customer id and the
      supplier id
    primaryKey: true
    logicalType: string
    required: true
    unique: true
    relationships:
    - type: foreignKey
      to: suppliers_mart.id
      customProperties:
      - property: cardinality
        value: one-to-one
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: supplier_id
    description: Unique identifier (generated by Fairly Made) of the supplier
    logicalType: string
    required: true
    unique: false
  - name: scope_certificate
    description: The list of the supplier's scope certifications with their associated
      status
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: object
      properties:
      - name: certification_id
        description: Unique identifier (generated by Fairly Made) of the certification
        logicalType: string
      - name: standard
        description: Standard of the certificate, according to Fairly Made taxonomy
          (e.g. GOTS)
        logicalType: string
      - name: validity_start_date
        description: Start date of the certificate validity
        logicalType: timestamp
      - name: validity_end_date
        description: End date of the certificate validity
        logicalType: timestamp
      - name: status
        description: Status of the certificate
        logicalType: string
      - name: created_at
        description: Date and time when the record was created in operational database
        logicalType: timestamp
support:
- channel: '#tech-support'
  tool: slack
team:
  name: Exploration Squad
  description: Providing access to customers and end-customers to aggregated data.  Helping
    our customers to take data-driven decisions thanks to data visualisation, interaction
    and ecodesign scenarios.
  members:
  - username: Martin Boby
    role: Product Manager
    dateIn: '2026-01-01'
  - username: Alice Haupais
    role: Tech Lead
    dateIn: '2026-01-01'
  - username: Charlie Beltran
    role: Analytics Engineer
    dateIn: '2026-01-01'
  - username: Gustave Constans
    role: Software Engineer
    dateIn: '2026-01-01'
version: 1.0.0
kind: DataContract
apiVersion: v3.1.0
id: exploration-agec-explored-id
name: AGEC Explored
tenant: FairlyMade
tags: []
status: active
servers:
- server: dev
  type: bigquery
  dataset: dev_exploration_agec_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: stg
  type: bigquery
  dataset: stg_exploration_agec_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: prd
  type: bigquery
  dataset: exploration_agec_explored
  location: europe-west1
  project: fairlymade-data-platform-prd
- server: sandbox
  type: bigquery
  dataset: data_product_dataset
  location: europe-west1
  project: fairlymade-data-platform-dev
description:
  usage: Exposes agec results through the App Extracts.
  purpose: AGEC results for the customer's products. Each row corresponds to either
    a product-component pair for ready-to-wear products or a product for shoe products.
  limitations: Provides near-real time data
domain: exploration
schema:
- name: agec_mart
  physicalType: table
  description: This table contains the agec results of all products and components
    analyzed by Fairly Made
  tags:
  - exploration
  - agec_explored
  dataGranularityDescription: One line by either a product-component pair for ready-to-wear
    products or a product for shoe products
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the product. It corresponds
      to the legacy study id
    primaryKey: true
    logicalType: string
    required: true
    unique: true
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: collection
    description: Name of the collection the product belongs to
    logicalType: string
    required: true
    unique: false
  - name: product_name
    description: Name of the product
    logicalType: string
    required: false
    unique: false
  - name: product_ref
    description: Reference of the product in the customer's system
    logicalType: string
    required: false
    unique: false
  - name: color_code
    description: Color of the product, as declared by the customer
    logicalType: string
    required: false
    unique: false
  - name: brand_product_id
    description: Unique identifier (generated by Fairly Made) of the product. It corresponds
      to the legacy study id
    logicalType: string
    required: true
    unique: false
    relationships:
    - type: foreignKey
      to: products_mart.id
      customProperties:
      - property: cardinality
        value: many-to-one
      - property: description
        value: References products_mart in the product_explored contract
  - name: purchase_order
    description: Purchase order number of the product, as declared by the customer
      or the supplier
    logicalType: string
    required: false
    unique: false
  - name: product_weight
    description: Weight of the product
    logicalType: number
    required: false
    unique: false
  - name: product_category
    description: The category of product, according to Fairly Made taxonomy
    logicalType: string
    required: true
    unique: false
  - name: product_unique_identifier
    description: Unique identifier of the product
    logicalType: string
    required: false
    unique: false
  - name: traceability_status
    description: The status of the analysis
    logicalType: string
    required: false
    unique: false
  - name: component_id
    description: Unique registry identifier (generated by Fairly Made) of the component
    logicalType: string
    required: false
    unique: false
  - name: component_unique_identifier
    description: Unique identifier of the component
    logicalType: string
    required: false
    unique: false
  - name: component_category
    description: The category of component, according to Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: composition
    logicalType: array
    items:
      description: Composition of the component
      logicalType: object
      required: false
      unique: false
      properties:
      - name: raw_material
        description: Material in the component
        logicalType: string
      - name: percentage
        description: Percentage of the material in the component
        logicalType: number
  - name: country
    description: Country where the step is performed, can be different from the supplier
      country, if declared as so
    logicalType: object
    required: false
    unique: false
    properties:
    - name: manufacturing
      description: ISO code of the countries where the manufacturing is performed
      logicalType: string
    - name: printing
      description: ISO code of the countries where the printing is performed
      logicalType: string
    - name: dyeing
      description: ISO code of the countries where the dyeing is performed
      logicalType: string
    - name: knitting
      description: ISO code of the countries where the knitting is performed
      logicalType: string
    - name: weaving
      description: ISO code of the countries where the weaving is performed
      logicalType: string
    - name: non_woven
      description: ISO code of the countries where the non-woven processing is performed
      logicalType: string
    - name: assembly
      description: ISO code of the countries where the assembly is performed
      logicalType: string
    - name: finishing
      description: ISO code of the countries where the finishing is performed
      logicalType: string
    - name: stitching
      description: ISO code of the countries where the stitching is performed
      logicalType: string
  - name: microplastics_percentage
    description: Percentage of synthetic fibers in the product
    logicalType: number
    required: true
    unique: false
  - name: recycled_materials_percentage
    description: Percentage of recycled materials in the product
    logicalType: number
    required: true
    unique: false
  - name: eco_modulation
    description: Eco-modulation of the product as declared by the customer, following
      the Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: component_in_agec_scope
    description: True if the component is concerned by AGEC
    logicalType: boolean
    required: false
    unique: false
  - name: component_agec_compliant
    description: True if the component is compliant regarding the traceability for
      AGEC
    logicalType: boolean
    required: false
    unique: false
  - name: product_in_agec_scope
    description: True if the product is concerned by AGEC
    logicalType: boolean
    required: true
    unique: false
  - name: product_agec_compliant
    description: True if the product is compliant regarding the traceability for AGEC
    logicalType: boolean
    required: false
    unique: false
  - name: traceability_start_date
    description: Date and time when the supplier data collection started
    logicalType: timestamp
    required: false
    unique: false
  - name: theoretical_traceability_end_date
    description: Theoretical date and time when the supplier data collection ends,
      it is 49 days after the start
    logicalType: timestamp
    required: false
    unique: false
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
support:
- channel: '#tech-support'
  tool: slack
team:
  name: Exploration Squad
  description: Providing access to customers and end-customers to aggregated data.  Helping
    our customers to take data-driven decisions thanks to data visualisation, interaction
    and ecodesign scenarios.
  members:
  - username: Martin Boby
    role: Product Manager
    dateIn: '2026-01-01'
  - username: Alice Haupais
    role: Tech Lead
    dateIn: '2026-01-01'
  - username: Charlie Beltran
    role: Analytics Engineer
    dateIn: '2026-01-01'
  - username: Gustave Constans
    role: Software Engineer
    dateIn: '2026-01-01'
version: 1.0.0
kind: DataContract
apiVersion: v3.1.0
id: exploration-product-explored-id
name: Product Explored
tenant: FairlyMade
tags: []
status: active
servers:
- server: dev
  type: bigquery
  dataset: dev_exploration_product_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: stg
  type: bigquery
  dataset: stg_exploration_product_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: prd
  type: bigquery
  dataset: exploration_product_explored
  location: europe-west1
  project: fairlymade-data-platform-prd
- server: sandbox
  type: bigquery
  dataset: sbx_exploration_product_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
description:
  usage: Exposes product explored to several interfaces (App Products Table, Extracts)
  purpose: Product with its Analysis, its Supply Chain and its Supply Chain Analysis
    considered as the truth for the customer at a current time
  limitations: Provides near-real time data
domain: exploration
schema:
- name: products_mart
  physicalType: table
  description: This table contains all products analyzed by Fairly Made
  tags:
  - exploration
  - product_explored
  dataGranularityDescription: One row per customer product
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the product
    primaryKey: true
    logicalType: string
    required: true
    unique: true
  - name: unique_identifier
    description: Unique identifier of the product
    logicalType: string
    required: false
    unique: false
  - name: collection
    description: Name of the collection the product belongs to
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: product_name
    description: Name of the product
    logicalType: string
    required: false
    unique: false
  - name: product_ref
    description: Reference of the product in the customer's system
    logicalType: string
    required: false
    unique: false
  - name: product_public_name
    description: Name of the product, as displayed to the final customer (website,
      hangtag, ...)
    logicalType: object
    required: false
    unique: false
    properties:
    - name: en
      description: Name of the product (EN)
      logicalType: string
    - name: fr
      description: Name of the product (FR)
      logicalType: string
    - name: it
      description: Name of the product (IT)
      logicalType: string
    - name: es
      description: Name of the product (ES)
      logicalType: string
  - name: color_code
    description: Color of the product, as declared by the customer
    logicalType: string
    required: false
    unique: false
  - name: purchase_order
    description: Purchase order number of the product, as declared by the customer
      or the supplier
    logicalType: string
    required: false
    unique: false
  - name: gtins
    description: Global Trade Item Numbers of the product. There are multiple GTINs
      per product because of the different product formats
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: product_category
    description: The category of product, according to Fairly Made taxonomy
    logicalType: string
    required: true
    unique: false
  - name: product_weight
    description: Weight of the product
    logicalType: number
    required: false
    unique: false
  - name: number_of_components
    description: Number of components in the product
    logicalType: integer
    required: false
    unique: false
  - name: components_categories
    description: Categories of the components in the product
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: number_of_materials
    description: Number of materials in the product
    logicalType: integer
    required: false
    unique: false
  - name: materials
    description: Materials in the product
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: composition
    description: The composition of the product, component per component
    logicalType: string
    required: false
    unique: false
  - name: declared_suppliers
    description: Suppliers of the product, as declared by the customer
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: object
      properties:
      - name: supplier_id
        description: Unique identifier (generated by Fairly Made) of the supplier
        logicalType: string
      - name: name
        description: Name of the declared supplier
        logicalType: string
      - name: ref
        description: Declared supplier reference in the customer systems
        logicalType: string
  - name: declared_product_suppliers
    description: Suppliers of the product declared by the customer at the product
      level (declared_by_the_brand_at = "PRODUCT")
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: object
      properties:
      - name: supplier_id
        description: Unique identifier (generated by Fairly Made) of the supplier
          declared at the product level
        logicalType: string
      - name: name
        description: Name of the supplier declared at the product level
        logicalType: string
      - name: ref
        description: Reference, in the customer systems, of the supplier declared
          at the product level
        logicalType: string
  - name: declared_components_suppliers
    description: Suppliers of the product declared by the customer at the component
      level (declared_by_the_brand_at = "COMPONENT")
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: object
      properties:
      - name: supplier_id
        description: Unique identifier (generated by Fairly Made) of the supplier
          declared at the component level
        logicalType: string
      - name: name
        description: Name of the supplier declared at the component level
        logicalType: string
      - name: ref
        description: Reference, in the customer systems, of the supplier declared
          at the component level
        logicalType: string
  - name: produced_quantity
    description: Quantity produced of the product
    logicalType: object
    required: false
    unique: false
    properties:
    - name: amount
      description: Amount of quantity produced of the product
      logicalType: number
    - name: unit
      description: Unit of quantity produced of the product
      logicalType: string
    - name: is_produced_quantity_from_customer_settings
      description: True if the produced quantity is the default value set in the customer
        setting
      logicalType: boolean
  - name: product_certifications
    description: Standard of the product certificates, according to Fairly Made taxonomy
      (e.g. GOTS)
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: string
  - name: market_segment
    description: Market segment of the product (Menswear, Womenswear...)
    logicalType: string
    required: false
    unique: false
  - name: eco_modulation
    description: Eco-modulation of the product as declared by the customer, following
      the Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: product_status
    description: The status of the analysis
    logicalType: string
    required: false
    unique: false
  - name: product_picture
    description: URL of the product picture
    logicalType: string
    required: false
    unique: false
  - name: qr_code_link_ref
    description: Ref of the QR Code showcase link of the product
    logicalType: string
    required: false
    unique: false
  - name: web_link_ref
    description: Ref of the web showcase link of the product
    logicalType: string
    required: false
    unique: false
  - name: is_dpp_activated
    description: True if the showcase has been published
    logicalType: boolean
    required: false
    unique: false
  - name: traceability_start_date
    description: Date and time when the supplier data collection started
    logicalType: timestamp
    required: false
    unique: false
  - name: theoretical_traceability_end_date
    description: Theoretical date and time when the supplier data collection ends,
      it is 49 days after the start
    logicalType: timestamp
    required: false
    unique: false
  - name: created_at
    description: Date and time when the record was created in operational database
    logicalType: timestamp
    required: true
    unique: false
  - name: updated_at
    description: Date and time when the record was updated in operational database
    logicalType: timestamp
    required: true
    unique: false
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
- name: products_analysis_mart
  physicalType: table
  description: This table contains the analysis of all products analyzed by Fairly
    Made
  tags:
  - exploration
  - product_explored
  dataGranularityDescription: One row per customer product
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the product
    primaryKey: true
    logicalType: string
    required: true
    unique: true
    relationships:
    - type: foreignKey
      to: products_mart.id
      customProperties:
      - property: cardinality
        value: one-to-one
  - name: unique_identifier
    description: Unique identifier of the product
    logicalType: string
    required: false
    unique: false
  - name: collection
    description: Name of the collection the product belongs to
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: lca_fr
    description: PEF impacts of the Life Cycle Assessment calculated with the LCAll
      tool
    logicalType: object
    required: false
    unique: false
    properties:
    - name: acidification
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on acidification
      logicalType: number
    - name: climate_change_biogenic
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on biogenic climate change
      logicalType: number
    - name: climate_change_fossil
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on fossil climate change
      logicalType: number
    - name: climate_change
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on climate change
      logicalType: number
    - name: climate_change_land_use
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on land use climate change
      logicalType: number
    - name: ecotoxicity_fresh_water
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on fresh water ecotoxicity
      logicalType: number
    - name: particulate_matter
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on particulate matter
      logicalType: number
    - name: eutrophication_fresh_water
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on fresh water eutrophication
      logicalType: number
    - name: eutrophication_marine
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on marine eutrophication
      logicalType: number
    - name: eutrophication_terrestrial
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on terrestrial eutrophication
      logicalType: number
    - name: human_toxicity_cancer
      description: Value of the impact of an analysis calculated with the PEF methodology
        on human toxicity, cancer
      logicalType: number
    - name: human_toxicity_non_cancer
      description: Value of the impact of an analysis calculated with the PEF methodology
        on human toxicity, non cancer
      logicalType: number
    - name: ionising_radiation
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on ionising radiation
      logicalType: number
    - name: land_use
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on land use
      logicalType: number
    - name: ozone_depletion
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on ozone depletion
      logicalType: number
    - name: photochemical_ozone_formation
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on photochemical ozone formation
      logicalType: number
    - name: resource_use_fossils
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on fossils resource use
      logicalType: number
    - name: resource_use_minerals_metals
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on minerals metals resource use
      logicalType: number
    - name: water_use
      description: Value of the impact of an analysis calculated with the ADEME methodology
        v.2025 on water use
      logicalType: number
  - name: lca_pef
    description: PEF impacts of the Life Cycle Assessment computed according to the
      PEF methodology
    logicalType: object
    required: false
    unique: false
    properties:
    - name: acidification
      description: Value of the impact of an analysis calculated with the PEF methodology
        on acidification
      logicalType: number
    - name: climate_change
      description: Value of the impact of an analysis calculated with the PEF methodology
        on climate change
      logicalType: number
    - name: ecotoxicity_fresh_water
      description: Value of the impact of an analysis calculated with the PEF methodology
        on fresh water ecotoxicity
      logicalType: number
    - name: particulate_matter
      description: Value of the impact of an analysis calculated with the PEF methodology
        on particulate matter
      logicalType: number
    - name: eutrophication_fresh_water
      description: Value of the impact of an analysis calculated with the PEF methodology
        on fresh water eutrophication
      logicalType: number
    - name: eutrophication_marine
      description: Value of the impact of an analysis calculated with the PEF methodology
        on marine eutrophication
      logicalType: number
    - name: eutrophication_terrestrial
      description: Value of the impact of an analysis calculated with the PEF methodology
        on terrestrial eutrophication
      logicalType: number
    - name: human_toxicity_cancer
      description: Value of the impact of an analysis calculated with the PEF methodology
        on human toxicity, cancer
      logicalType: number
    - name: human_toxicity_non_cancer
      description: Value of the impact of an analysis calculated with the PEF methodology
        on human toxicity, non cancer
      logicalType: number
    - name: ionising_radiation
      description: Value of the impact of an analysis calculated with the PEF methodology
        on ionising radiation
      logicalType: number
    - name: land_use
      description: Value of the impact of an analysis calculated with the PEF methodology
        on land use
      logicalType: number
    - name: ozone_depletion
      description: Value of the impact of an analysis calculated with the PEF methodology
        on ozone depletion
      logicalType: number
    - name: photochemical_ozone_formation
      description: Value of the impact of an analysis calculated with the PEF methodology
        on photochemical ozone formation
      logicalType: number
    - name: resource_use_fossils
      description: Value of the impact of an analysis calculated with the PEF methodology
        on fossils resource use
      logicalType: number
    - name: resource_use_minerals_metals
      description: Value of the impact of an analysis calculated with the PEF methodology
        on minerals metals resource use
      logicalType: number
    - name: water_use
      description: Value of the impact of an analysis calculated with the PEF methodology
        on water use
      logicalType: number
  - name: pef_single_score
    description: It is the result of an impact calculation initiated by the European
      Commission (based on PEFCR Apparel & Footwear 3.1 methodology). The PEF Single
      Score is expressed in micro-points, ensuring high precision in environmental
      scoring
    logicalType: number
    required: false
    unique: false
  - name: traceability_score
    description: The traceability grade of the product
    logicalType: number
    required: false
    unique: false
  - name: fec_declaration
    description: French environmental cost impact declaration of the product lifecycle
    logicalType: object
    required: false
    unique: false
    properties:
    - name: is_french_environmental_cost_published_to_government_platform
      description: True if the french environmental cost has been published to the
        government platform
      logicalType: boolean
    - name: government_platform_publication_date
      description: Date at which the French environmental cost of the product has
        been published
      logicalType: timestamp
    - name: published_french_environmental_cost
      description: Published value of the score in micro points. It is the sum of
        the impact of each sub-step of the product
      logicalType: number
    - name: published_french_environmental_cost_per_100_grams
      description: Published value of the score in micro points. It is the sum of
        the impact of each sub-step of the product for 100g
      logicalType: number
    - name: published_french_environmental_cost_pictogram
      description: Link to the pictogram of the published french environmental cost
      logicalType: string
  - name: fec_calculation
    description: French environmental cost impact calculation of the product lifecycle
    logicalType: object
    required: false
    unique: false
    properties:
    - name: adjusted_duration_service
      description: The number of days this product category is expected to last when
        factoring the reference duration of service and the extrinsic durability coefficient
      logicalType: number
    - name: bonus_malus_service_duration
      description: The difference between the adjusted duration of service and the
        reference duration of service, in days
      logicalType: number
    - name: durability_coefficient
      description: Extrinsic (non-physical) durability coefficient influencing the
        product number of use and lifespan as defined in the French environmental
        cost methodology
      logicalType: number
    - name: company_size
      description: Setting the brand can update to compute the promotion to repair
        coefficient, it is related to the company size
      logicalType: string
    - name: last_calculated_french_environmental_cost
      description: Last calculated value of the score in micro points. It is the sum
        of the impact of each sub-step of the product
      logicalType: number
    - name: last_calculated_french_environmental_cost_per_100_grams
      description: Last calculated value of the score in micro points. It is the sum
        of the impact of each sub-step of the product for 100g
      logicalType: number
    - name: last_calculated_french_environmental_cost_pictogram
      description: Link to the pictogram of the last calculated french environmental
        cost
      logicalType: string
    - name: last_calculated_french_environmental_cost_computation_date
      description: Date at which the last French environmental cost of the product
        has been computed by Fairly Made
      logicalType: timestamp
    - name: edited_by_customer_user_first_name
      description: First name of the user that edited the brand settings
      logicalType: string
    - name: edited_by_customer_user_name
      description: Name of the user that edited the brand settings
      logicalType: string
    - name: fec_brand_settings_edited_at
      description: Date and time when the brand settings was last updated in operational
        database
      logicalType: timestamp
    - name: lca_score
      description: Environmental score obtained solely from the Life Cycle Analysis
      logicalType: number
    - name: market_segment
      description: Market segment of the product (Menswear, Womenswear...)
      logicalType: string
    - name: max_references_number
      description: Setting the brand can update to compute the repair service coefficient,
        it is related to the display of products traceability
      logicalType: number
    - name: microfibers_score
      description: Additional parameter representing the environmental impacts of
        microfibers released from the product during its life cycle
      logicalType: number
    - name: out_of_europe_export_score
      description: Additional parameter representing the environmental impact of product
        ending as wastes exported outside of Europe
      logicalType: number
    - name: is_product_in_legal_scope
      description: True if the product is in the regulation law for the french environmental
        cost display
      logicalType: boolean
    - name: product_market_price
      description: Average selling price of the product category, in euros
      logicalType: number
    - name: product_score
      description: Environmental score obtained from the aggregation of the Life Cycle
        Analysis results
      logicalType: number
    - name: repair_promotion_coefficient
      description: Indicator related to the incentives for product repair. Based on
        the ratio between product price with the average repair costs and the availability
        of repair services from the brand
      logicalType: number
    - name: product_range_coefficient
      description: Indicator related to the maximum number of references used in the
        brand score computation
      logicalType: number
    - name: reference_service_duration
      description: The number of days this product category is expected to last according
        to the french government standards
      logicalType: number
    - name: repair_service
      description: Setting the brand can update to compute the promotion to repair
        coefficient, it is related to the existence of a reparation service
      logicalType: boolean
  - name: lca_calculation
    description: Impact calculation of the product lifecycle with LCAll
    logicalType: object
    required: false
    unique: false
    properties:
    - name: deadstock
      description: Quantity of finished products and semi-finished products (e.g.
        fabrics, yarn) that could not be sold through traditional sales channels,
        in %
      logicalType: number
  - name: lca_created_at
    description: Date and time when the record was created in operational database
    logicalType: timestamp
    required: true
    unique: false
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
- name: products_agec_mart
  physicalType: table
  description: This table contains the agec claims of all products analyzed by Fairly
    Made
  tags:
  - exploration
  - product_explored
  dataGranularityDescription: One row per customer product
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the product
    primaryKey: true
    logicalType: string
    required: true
    unique: true
    relationships:
    - type: foreignKey
      to: products_mart.id
      customProperties:
      - property: cardinality
        value: one-to-one
  - name: unique_identifier
    description: Unique identifier of the product
    logicalType: string
    required: false
    unique: false
  - name: collection
    description: Name of the collection the product belongs to
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: microplastics_percentage
    description: Percentage of synthetic fibers in the product
    logicalType: number
    required: true
    unique: false
  - name: recycled_materials_percentage
    description: Percentage of recycled materials in the product
    logicalType: number
    required: true
    unique: false
  - name: hazardous_substances
    description: Allegation on the presence of hazardous substances in the product,
      if applicable, as declared by the brand
    logicalType: string
    required: false
    unique: false
  - name: is_product_in_agec_scope
    description: True if the product is concerned by the AGEC law
    logicalType: boolean
    required: true
    unique: false
  - name: is_product_agec_compliant
    description: True if the product meets the AGEC requirements regarding traceability
    logicalType: boolean
    required: false
    unique: false
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
- name: products_packaging_mart
  physicalType: table
  description: This table contains the packagings of all products analyzed by Fairly
    Made
  tags:
  - exploration
  - product_explored
  dataGranularityDescription: One row per customer product
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) of the product
    primaryKey: true
    logicalType: string
    required: true
    unique: true
    relationships:
    - type: foreignKey
      to: products_mart.id
      customProperties:
      - property: cardinality
        value: one-to-one
  - name: unique_identifier
    description: Unique identifier of the product
    logicalType: string
    required: false
    unique: false
  - name: collection
    description: Name of the collection the product belongs to
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: packaging
    description: Packagings linked to the product
    logicalType: array
    required: true
    unique: true
    items:
      logicalType: object
      properties:
      - name: id
        description: Unique identifier (generated by Fairly Made) of the packaging
        logicalType: string
      - name: ref
        description: The reference of the packaging in the brand's system, written
          as [account id]_[client ref]
        logicalType: string
      - name: type
        description: Type of the packaging in Fairly Made taxonomy
        logicalType: string
      - name: channel
        description: Distribution channel of the packaging in Fairly Made taxonomy
        logicalType: string
      - name: compostability
        description: Is the packaging compostable, as declared by the brand
        logicalType: string
      - name: eco_modulation
        description: Eco-modulation of the packaging, as declared by the brand
        logicalType: string
      - name: recycled_materials_percentage
        description: Recycled materials in the product, in %
        logicalType: number
      - name: recyclability
        description: Is the packaging recyclable, as declared by the brand
        logicalType: string
      - name: reusability
        description: Is the packaging reusable, as declared by the brand
        logicalType: string
      - name: hazardous_substances_status
        description: Does the package contains hazardous substances, as declared by
          the brand
        logicalType: string
      - name: hazardous_substances_value
        description: The name of the substance the package contains, as declared by
          the brand
        logicalType: string
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
support:
- channel: '#tech-support'
  tool: slack
team:
  name: Blooming Squad
  description: Providing access to customers and end-customers to aggregated data.  Helping
    our customers to take data-driven decisions thanks to data visualisation, interaction
    and ecodesign scenarios.
  members:
  - username: Martin Boby
    role: Product Manager
    dateIn: '2026-01-01'
  - username: Alice Haupais
    role: Tech Lead
    dateIn: '2026-01-01'
  - username: Charlie Beltran
    role: Analytics Engineer
    dateIn: '2026-01-01'
  - username: Gustave Constans
    role: Software Engineer
    dateIn: '2026-01-01'
version: 1.0.0
kind: DataContract
apiVersion: v3.1.0
id: exploration-traceability-explored-id
name: Traceability Explored
tenant: FairlyMade
tags: []
status: active
servers:
- server: dev
  type: bigquery
  dataset: dev_exploration_traceability_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: stg
  type: bigquery
  dataset: stg_exploration_traceability_explored
  location: europe-west1
  project: fairlymade-data-platform-dev
- server: prd
  type: bigquery
  dataset: exploration_traceability_explored
  location: europe-west1
  project: fairlymade-data-platform-prd
- server: sandbox
  type: bigquery
  dataset: data_product_dataset
  location: europe-west1
  project: fairlymade-data-platform-dev
description:
  usage: Exposes traceability data through the App Extracts.
  purpose: Retrieve traceability data for the customer's product either collected
    from the customer or from the supplier during a supplier data collection.
  limitations: Provides near-real time data
domain: exploration
schema:
- name: traceability_mart
  physicalType: table
  description: 'This table contains all the production processes of a product analyzed
    by Fairly Made

    Each row corresponds to a step. A step is for instance "SPINNING", "MANUFACTURING",
    ...

    A step can be applied at product level, component level or material level

    '
  tags:
  - exploration
  - traceability_explored
  dataGranularityDescription: One row per customer product, item and traceability
    step
  properties:
  - name: id
    description: Unique identifier (generated by Fairly Made) traceability step. It
      corresponds to the concatenation of the legacy study id, the item index and
      the step id
    primaryKey: true
    logicalType: string
    required: true
    unique: true
  - name: registry_customer_id
    description: Unique registry identifier (generated by Fairly Made) of the customer
    logicalType: string
    required: true
    unique: false
  - name: registry_customer_id_hash
    description: Customer hash of the registry customer unique identifier
    logicalType: integer
    required: true
    unique: false
  - name: collection
    description: Name of the collection the product belongs to
    logicalType: string
    required: true
    unique: false
  - name: color_code
    description: Color of the product, as declared by the customer
    logicalType: string
    required: false
    unique: false
  - name: brand_product_id
    description: Unique identifier (generated by Fairly Made) of the product. It corresponds
      to the legacy study id
    logicalType: string
    required: true
    unique: true
    relationships:
    - type: foreignKey
      to: products_mart.id
      customProperties:
      - property: cardinality
        value: many-to-one
      - property: description
        value: References products_mart in the product_explored contract
  - name: product_name
    description: Name of the product
    logicalType: string
    required: false
    unique: false
  - name: product_ref
    description: Reference of the product in the customer's system
    logicalType: string
    required: false
    unique: false
  - name: product_unique_identifier
    description: Unique identifier of the product
    logicalType: string
    required: false
    unique: false
  - name: purchase_order
    description: Purchase order number of the product, as declared by the customer
      or the supplier
    logicalType: string
    required: false
    unique: false
  - name: product_category
    description: The category of product, according to Fairly Made taxonomy
    logicalType: string
    required: true
    unique: false
  - name: product_weight
    description: Weight of the product
    logicalType: number
    required: false
    unique: false
  - name: declared_suppliers
    description: Suppliers of the product, as declared by the customer
    logicalType: array
    required: false
    unique: false
    items:
      logicalType: object
      properties:
      - name: supplier_id
        description: Unique identifier (generated by Fairly Made) of the supplier
        logicalType: string
      - name: name
        description: Name of the declared supplier
        logicalType: string
      - name: ref
        description: Declared supplier reference in the customer systems
        logicalType: string
  - name: step_id
    description: Unique identifier (generated by Fairly Made) of the supply chain
      step
    logicalType: string
    required: false
    unique: false
  - name: traceability_step
    description: Name of the process, according to Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: declaration_source
    description: Source of the declaration. Coded from 01 (peer-to-peer verified)
      to 04 (industry knowledge), reflecting the data hierarchy for the rearchi
    logicalType: string
    required: false
    unique: false
  - name: item_id
    description: Unique identifier (generated by Fairly Made) of the product, component
      or material
    logicalType: string
    required: false
    unique: false
  - name: step_index
    description: The position of the step in the chain. Th numbers represents the
      position of the item and the letter the position of the step regarding the item
    logicalType: string
    required: false
    unique: false
  - name: item_type
    description: The type of the item. Can be MATERIAL, COMPONENT or PRODUCT
    logicalType: string
    required: false
    unique: false
  - name: item_category
    description: Category of the item, according to Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: item_unique_identifier
    description: Unique identifier of the item, NULL for the legacy
    logicalType: string
    required: false
    unique: false
  - name: item_certifications
    description: Transaction certificates of the item
    logicalType: string
    required: false
    unique: false
  - name: component_category
    description: Category of the first component after the PRODUCT to COMPONENT scope
      change, according to Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: component_index
    description: Position of the first component after the PRODUCT to COMPONENT scope
      change in the chain
    logicalType: string
    required: false
    unique: false
  - name: component_unique_identifier
    description: Unique identifier of the first component after the PRODUCT to COMPONENT
      scope change
    logicalType: string
    required: false
    unique: false
  - name: raw_material
    description: Name of the first material after the COMPONENT to MATERIAL scope
      change, according to Fairly Made taxonomy
    logicalType: string
    required: false
    unique: false
  - name: material_percentage
    description: Percentage of the first material after the COMPONENT to MATERIAL
      scope change in the component
    logicalType: number
    required: false
    unique: false
  - name: step_supplier
    description: Supplier that performs the step. Empty if the supplier is not known
    logicalType: object
    required: false
    unique: false
    properties:
    - name: supplier_id
      description: Unique identifier (generated by Fairly Made) of the supplier that
        performs the step
      logicalType: string
    - name: name
      description: Name of the supplier that performs the step
      logicalType: string
    - name: external_ref
      description: Supplier that performs the step reference in the customer systems
      logicalType: string
  - name: step_country
    description: Country where the step is performed, can be different from the supplier
      country, if declared as so
    logicalType: string
    required: false
    unique: false
  - name: km_to_next_step
    description: Total distance travelled between the step and the next step
    logicalType: number
    required: false
    unique: false
  - name: transports_to_next_steps
    description: The type of transport and the distance travelled between the step
      and the next step
    logicalType: object
    required: false
    unique: false
  - name: supplier_certifications
    description: Scope certificates of the supplier that performs the step
    logicalType: string
    required: false
    unique: false
  - name: traceability_start_date
    description: Date and time when the supplier data collection started
    logicalType: timestamp
    required: false
    unique: false
  - name: theoretical_traceability_end_date
    description: Theoretical date and time when the supplier data collection ends,
      it is 49 days after the start
    logicalType: timestamp
    required: false
    unique: false
  - name: last_traceability_update
    description: Date and time when the traceability was last updated in operational
      database
    logicalType: timestamp
    required: true
    unique: false
  - name: is_rearchi
    description: True if the product comes from the rearchi data
    logicalType: boolean
    required: true
    unique: false
support:
- channel: '#tech-support'
  tool: slack
team:
  name: Exploration Squad
  description: Providing access to customers and end-customers to aggregated data.  Helping
    our customers to take data-driven decisions thanks to data visualisation, interaction
    and ecodesign scenarios.
  members:
  - username: Martin Boby
    role: Product Manager
    dateIn: '2026-01-01'
  - username: Alice Haupais
    role: Tech Lead
    dateIn: '2026-01-01'
  - username: Charlie Beltran
    role: Analytics Engineer
    dateIn: '2026-01-01'
  - username: Gustave Constans
    role: Software Engineer
    dateIn: '2026-01-01'