Skip to main content

DPCModel

Version: v19.0.0

Stored entity

Partition key pk, sort key sk

Overview​

DPC Model - Complete DynamoDB structure

Fields​

FieldTypeRequiredDefaultDescription
pkstr✅——
skstr✅——
typestr✅——
dpc_schema_versionstr✅——
idstr✅——
dpc_numberstr✅——
created_atstr✅——
updated_atstr✅——
is_system_widebool❌False—
tenant_idstr❌——
part_typestr✅——
part_type_idstr✅——
more_precise_part_typestr❌——
more_precise_part_type_idstr❌——
part_numbersList[PartNumber]❌[]—
superseded_part_numbersList[PartNumber]❌[]—
interchangeable_part_numbersList[PartNumber]❌[]—
weight_gfloat❌——
height_mmfloat❌——
length_mmfloat❌——
width_mmfloat❌——
is_deletedbool❌False—
deleted_atstr❌——
is_universal_fitmentbool❌False—
part_attributesList[PartAttribute]❌[]—
fitmentList[Fitment]❌[]—
interchangeable_partsList[InterchangeablePart]❌[]—
imagesList[Image]❌[]—
applicable_regionsList[ApplicableRegion]❌[]—
dpc_sourceDPCSourceEnum❌——
additional_notesstr❌——
titlestr❌——
images_statusDPCImagesStatus❌——

Embedded models​

Models embedded in the fields above — shown inline; they have no separate page.

PartNumber — v2.0.0
FieldTypeRequiredDefaultDescription
part_numberstr✅——
part_number_cleanstr✅——

Change history

  • v2.0.0 · 2025-10-24 · Olaniyi Ajayi · Removed field is_primary (breaking).; Removed field manufacturer (breaking).; Removed field number (breaking).; Added required field part_number.; Added required field part_number_clean. (bd5ef3280)
  • v1.0.0 · 2025-10-02 · Olaniyi Ajayi · Initial version. (310a3b54d)
PartAttribute — v4.0.0
FieldTypeRequiredDefaultDescription
value`strboolintfloat`
value_typeValueTypeEnum (STRING, FLOAT, INTEGER, BOOLEAN)✅—Value Type Enum for attributes
display_namestr✅——
created_atstr❌——
updated_atstr❌——

Change history

  • v4.0.0 · 2025-12-22 · Olaniyi Ajayi · Field value type changed: str → Union[str, bool, int, float] (breaking). (72439152a)
  • v3.0.0 · 2025-10-24 · Olaniyi Ajayi · Removed field id (breaking).; Removed field name (breaking).; Removed field values (breaking).; Added optional field created_at.; Added required field display_name.; Added optional field updated_at.; Added required field value.; Added required field value_type. (bd5ef3280)
  • v2.0.0 · 2025-10-17 · Olaniyi Ajayi · Removed field created_at (breaking).; Removed field description (breaking).; Removed field updated_at (breaking). (d69979131)
  • v1.0.0 · 2025-10-02 · Olaniyi Ajayi · Initial version. (310a3b54d)
InterchangeablePart — v3.0.0
FieldTypeRequiredDefaultDescription
idstr✅——
dpc_idstr✅——
dpc_numberstr✅——
interchange_sourceInterchangeSourceEnum (SATURN, TENANT, DISMANTLY_RESEARCHED)❌SATURNInterchange source.
is_exact_interchangebool✅——
relationship_typeInterchangeRelationshipTypeEnum (DIRECT_SUBSTITUTE, CONDITIONAL_SUBSTITUTE, DIRECTIONAL_SUBSTITUTE, COMPONENT_FULFILLMENT)✅—Interchange relationship type.
substitution_directionInterchangeSubstitutionDirectionEnum✅——
display_notestr✅——
check_notesList[str]✅——
created_atstr✅——
updated_atstr✅——

Change history

  • v3.0.0 · 2026-05-17 · Cian (shared account) · Removed field notes (breaking).; Removed field part_type (breaking).; Removed field part_type_id (breaking).; Added required field check_notes.; Added optional field display_note.; Added required field dpc_id.; Added optional field interchange_source.; Added required field relationship_type.; Added optional field substitution_direction.; Field created_at became required (breaking).; Field created_at default changed: Field(default_factory=lambda : datetime.now(timezone.utc).isoformat()) → None.; Field is_exact_interchange became required (breaking).; Field is_exact_interchange default changed: False → None.; Field updated_at became required (breaking).; Field updated_at default changed: Field(default_factory=lambda : datetime.now(timezone.utc).isoformat()) → None. (1ee3bc2c6)
  • v2.0.0 · 2025-10-24 · Olaniyi Ajayi · Removed field is_in_exact_interchange (breaking).; Added optional field is_exact_interchange.; Field dpc_number type changed: Optional[str] → str (breaking).; Field dpc_number became required (breaking).; Field id became required (breaking).; Field id default changed: Field(default_factory=lambda : str(uuid4())) → None. (bd5ef3280)
  • v1.0.0 · 2025-10-02 · Olaniyi Ajayi · Initial version. (310a3b54d)
Image — v1.0.0
FieldTypeRequiredDefaultDescription
urlstr✅——
orderint✅——
is_privatebool❌False—

Change history

  • v1.0.0 · 2025-10-02 · Olaniyi Ajayi · Initial version. (310a3b54d)
ApplicableRegion — v2.2.0
FieldTypeRequiredDefaultDescription
country_codeCountryCodeEnum (NZ, AUS, SA, US, GB, JP, IND, DNK)✅—Country Code Enum for applicable regions
created_atstr❌——

Change history

  • v2.2.0 · 2026-06-07 · Cian (shared account) · Field country_code enum value SA added. (01a5f766a)
  • v2.1.0 · 2025-11-07 · Cian (shared account) · Field country_code enum value DNK added.; Field country_code enum value IND added. (3d5227b6d)
  • v2.0.0 · 2025-11-05 · Cian (shared account) · Field country_code enum value UK removed (breaking).; Field country_code enum value GB added. (364e097e2)
  • v1.0.0 · 2025-10-24 · Olaniyi Ajayi · Initial version. (bd5ef3280)

APIs / Triggers​

TriggerEndpoint / SourceDetailHandler
APIPOST /—src/dpc_post.py

Change history​

v19.0.0 · 2026-05-21 · Cian (shared account) · 5dc069f60

Refactor DPC models and update interchangeable parts handling for improved compatibility and clarity. Introduce new utility functions for ISO datetime parsing and nested row management in validation processes.

  • Field interchangeable_parts type changed: List[DPCInterchangeablePart] → List[InterchangeablePart] (breaking).
v18.0.0 · 2026-05-17 · Cian (shared account) · bc3538fd9

Add interchange group GET endpoint

  • Field interchangeable_parts type changed: List[InterchangeablePart] → List[DPCInterchangeablePart] (breaking).
v17.0.0 · 2026-05-21 · Cian (shared account) · 1769b7342

Refactor DPC models and update interchangeable parts handling for improved compatibility and clarity. Introduce new utility functions for ISO datetime parsing and nested row management in validation processes.

  • Field interchangeable_parts type changed: List[DPCInterchangeablePart] → List[InterchangeablePart] (breaking).
v16.0.0 · 2026-05-17 · Cian (shared account) · 1ee3bc2c6

Add interchange group GET endpoint

  • Field interchangeable_parts type changed: List[InterchangeablePart] → List[DPCInterchangeablePart] (breaking).
v15.2.0 · 2026-05-09 · Cian (shared account) · abf653e48

Consolidate image processing into deterministic handlers

  • Added optional field images_status.
v15.1.0 · 2026-03-13 · genius-autos-dev · 7234c1087

Add more precise part type fields to DPC models and update related functions

  • Added optional field more_precise_part_type.
  • Added optional field more_precise_part_type_id.
v15.0.0 · 2026-03-11 · Cian (shared account) · 8abd4a54a

Add DPCStockLimit model and related functions for stock limit management

  • Removed field stock_limit (breaking).
v14.0.0 · 2026-03-11 · Cian (shared account) · aba260abe

Add interchangeable_part_numbers field to DPC models and update related functions

  • Removed field applicable_years (breaking).
  • Removed field model_aliases (breaking).
  • Removed field month_from (breaking).
  • Removed field month_to (breaking).
  • Removed field veh_make (breaking).
  • Removed field veh_make_id (breaking).
  • Removed field veh_make_model (breaking).
  • Removed field veh_model (breaking).
  • Removed field veh_model_id (breaking).
  • Removed field vehicle_attributes (breaking).
  • Removed field year_from (breaking).
  • Removed field year_to (breaking).
  • Added optional field interchangeable_part_numbers.
  • Added optional field stock_limit.
v13.0.0 · 2026-03-07 · Clifford Usidamen · 7c5f4ca1e

added dpc and vehicle images

  • Removed field stock_limit (breaking).
  • Added optional field applicable_years.
  • Added optional field model_aliases.
  • Added optional field month_from.
  • Added optional field month_to.
  • Added optional field veh_make.
  • Added optional field veh_make_id.
  • Added optional field veh_make_model.
  • Added optional field veh_model.
  • Added optional field veh_model_id.
  • Added optional field vehicle_attributes.
  • Added optional field year_from.
  • Added optional field year_to.
v12.0.0 · 2026-03-06 · Cian (shared account) · 1808b0b9a

refactor(dpc): split put lambdas and migrate fitment-first schema

  • Removed field applicable_years (breaking).
  • Removed field model_aliases (breaking).
  • Removed field month_from (breaking).
  • Removed field month_to (breaking).
  • Removed field veh_make (breaking).
  • Removed field veh_make_id (breaking).
  • Removed field veh_make_model (breaking).
  • Removed field veh_model (breaking).
  • Removed field veh_model_id (breaking).
  • Removed field vehicle_attributes (breaking).
  • Removed field year_from (breaking).
  • Removed field year_to (breaking).
v11.1.0 · 2026-03-06 · Cian (shared account) · e6e7eb19b

feat(dpc): add custom/system-wide update contracts

  • Added optional field stock_limit.
v11.0.0 · 2026-02-21 · Cian (shared account) · ebc6ae8ef

Decouple ebay fitments into EBAY_FITMENT records

  • Removed field ebay_fitments (breaking).
v10.0.0 · 2026-02-21 · Cian (shared account) · 361b064be

Update ebay_fitments type annotations to List[EbayFitment] and change logging level from info to warning in dpc_post.py for improved clarity and error handling.

  • Field ebay_fitments type changed: list → List[EbayFitment] (breaking).
v9.1.0 · 2026-01-26 · Cian (shared account) · bfd9298b6

feat(models): Add title field to DPC models and update build functions

  • Added optional field title.
v9.0.0 · 2025-12-22 · Olaniyi Ajayi · 72439152a

fx

  • Field ebay_fitments type changed: List[EbayFitment] → list (breaking).
v8.0.0 · 2025-11-04 · Cian (shared account) · a27e5f27a

fx

  • Field month_from type changed: Optional[str] → Optional[int] (breaking).
  • Field month_to type changed: Optional[str] → Optional[int] (breaking).
  • Field year_from type changed: Optional[str] → Optional[int] (breaking).
  • Field year_to type changed: Optional[str] → Optional[int] (breaking).
v7.0.0 · 2025-11-03 · Olaniyi Ajayi · aeeedac4f

pricing fx

  • Removed field supersedded_part_numbers (breaking).
  • Added optional field superseded_part_numbers.
  • Field ebay_fitments type changed: list → List[EbayFitment] (breaking).
v6.0.0 · 2025-10-30 · Cian (shared account) · 662787d9a

Revert "Dev v5"

  • Removed field superseded_part_numbers (breaking).
  • Added optional field supersedded_part_numbers.
  • Field ebay_fitments type changed: List[EbayFitment] → list (breaking).
v5.0.0 · 2025-10-30 · Olaniyi Ajayi · 086cd860d

fx

  • Removed field supersedded_part_numbers (breaking).
  • Added optional field superseded_part_numbers.
v4.0.0 · 2025-10-29 · Your Name · 4deeb48c2

fx

  • Field ebay_fitments type changed: list → List[EbayFitment] (breaking).
v3.1.0 · 2025-10-29 · Olaniyi Ajayi · fba40b748

fx

  • Added optional field ebay_fitments.
v3.0.0 · 2025-10-24 · Olaniyi Ajayi · bd5ef3280

updated dpc model

  • Removed field dpc_id (breaking).
  • Removed field height (breaking).
  • Removed field height_metric (breaking).
  • Removed field is_reported (breaking).
  • Removed field length (breaking).
  • Removed field length_metric (breaking).
  • Removed field oem_part_numbers (breaking).
  • Removed field pricing (breaking).
  • Removed field superseded_part_numbers (breaking).
  • Removed field weight (breaking).
  • Removed field weight_metric (breaking).
  • Removed field width (breaking).
  • Removed field width_metric (breaking).
  • Added optional field applicable_regions.
  • Added optional field applicable_years.
  • Added optional field dpc_source.
  • Added optional field height_mm.
  • Added required field id.
  • Added optional field length_mm.
  • Added optional field model_aliases.
  • Added optional field supersedded_part_numbers.
  • Added optional field veh_make_model.
  • Added optional field weight_g.
  • Added optional field width_mm.
  • Field fitment type changed: Optional[List[Fitment]] → List[Fitment] (breaking).
  • Field images became optional.
  • Field images default changed: None → [].
  • Field interchangeable_parts became optional.
  • Field interchangeable_parts default changed: None → [].
  • Field is_deleted became optional.
  • Field is_deleted default changed: None → False.
  • Field is_system_wide type changed: Optional[bool] → bool (breaking).
  • Field is_universal_fitment became optional.
  • Field is_universal_fitment default changed: None → False.
  • Field month_from type changed: Optional[int] → Optional[str] (breaking).
  • Field month_to type changed: Optional[int] → Optional[str] (breaking).
  • Field part_attributes became optional.
  • Field part_attributes default changed: None → [].
  • Field part_numbers became optional.
  • Field part_numbers default changed: None → [].
  • Field vehicle_attributes became optional.
  • Field vehicle_attributes default changed: None → [].
  • Field year_from type changed: Optional[int] → Optional[str] (breaking).
  • Field year_to type changed: Optional[int] → Optional[str] (breaking).
v2.2.0 · 2025-10-22 · Olaniyi Ajayi · 8d6556c72

added additional notes to dpc model

  • Added optional field additional_notes.
v2.1.0 · 2025-10-17 · Olaniyi Ajayi · d69979131

fix

  • Added optional field is_reported.
  • Added optional field oem_part_numbers.
  • Added optional field superseded_part_numbers.
v2.0.0 · 2025-10-03 · Olaniyi Ajayi · de10e3bc5

fx

  • Removed field id (breaking).
  • Added required field dpc_id.
  • Field is_system_wide type changed: bool → Optional[bool] (breaking).
  • Field is_system_wide became optional.
  • Field is_system_wide default changed: None → False.
v1.0.0 · 2025-10-02 · Olaniyi Ajayi · 310a3b54d

init

  • Initial version.

Generated from dismantly-backend/Microservices/DismantlyPartCatalog/dependencies/models.py. Do not edit by hand.

Models last synced: 2026-06-23 13:21 UTC