Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.
Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.A ✓ in the Null column means the field is optional. Constraint definitions are
reproduced verbatim from PostgreSQL, so they are the exact rule being enforced.
Descriptions come from the models; a blank one means the field carries no
description yet, not that it has no meaning.
(((vehicle_id IS NOT NULL) OR (component_id IS NOT NULL)))
Check
warranty_claim_origin_matches_type
((((origin_defect_id IS NOT NULL) AND ((type)::text = 'REPARATION'::text)) OR ((NOT ((type)::text = 'REPARATION'::text)) AND (origin_defect_id IS NULL))))
(((((association_status)::text = 'PENDING'::text) AND (reviewed_by_id IS NULL) AND (reviewed_at IS NULL)) OR ((NOT ((association_status)::text = 'PENDING'::text)) AND (reviewed_by_id IS NOT NULL) AND (reviewed_at IS NOT NULL))))
Foreign key
(claim_id) REFERENCES warranty_claim(id)
Foreign key
(group_id) REFERENCES warranty_claim_group(id)
Foreign key
(project_id) REFERENCES project(id)
Foreign key
(reviewed_by_id) REFERENCES users_user(id)
Primary key
(id)
Unique
unique_claim_group_association
(claim_id, group_id)
Unique index
unique_accepted_association_per_claim
(claim_id) WHERE ((association_status)::text = 'ACCEPTED'::text)
Unique index
unique_pending_association_per_claim
(claim_id) WHERE ((association_status)::text = 'PENDING'::text)
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"A7 manager","description":"Railway fleet management platform — internal documentation","colors":{"primary":"#3d4700","light":"#859900","dark":"#2a3200"},"favicon":"https://mintcdn.com/a7tech/hppoGf5bH4-HkvDU/favicon.svg?fit=max\u0026auto=format\u0026n=hppoGf5bH4-HkvDU\u0026q=85\u0026s=c13ec973f62604e6266c04ef2d078b42","footer":{"links":[{"header":"Project","items":[{"label":"Repository","href":"https://github.com/Railway-John/Warrantinator"}]}]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"a7tech","hasAudioNarration":false,"actualSubdomain":"a7tech","customDomains":["docs.a7manager.se"],"gitSource":{"type":"github","owner":"railway-john","repo":"warrantinator","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ada63064ca920a4c8408cea","collectionId":"d410dcfe-019a-4194-b121-b5185f986a5b","liveDeploymentHistoryId":"6ada63064ca920a4c8408cea","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ada63064ca920a4c8408cea","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Pages","count":24},{"language":"default","tag":"Data","count":20},{"language":"default","tag":"Tables","count":10},{"language":"default","tag":"File formats","count":8},{"language":"default","tag":"Overview","count":8},{"language":"default","tag":"Platform","count":6},{"language":"default","tag":"Service Book","count":5},{"language":"default","tag":"Project Config","count":5},{"language":"default","tag":"Assets","count":2},{"language":"default","tag":"Inspections","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@media (min-width:1400px){[class*=max-w-8xl]{max-width:120rem!important}}"}],"page":{"pagePath":"data/tables/warranty","slug":"/data/tables/warranty","pageMetadata":{"title":"Warranty tables","description":"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.","href":"/data/tables/warranty"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,Heading,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.`}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`✓`}),` in the Null column means the field is optional. Constraint definitions are\nreproduced verbatim from PostgreSQL, so they are the exact rule being enforced.\nDescriptions come from the models; a blank one means the field carries no\ndescription yet, not that it has no meaning.`]}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_claim`,children:_jsx(_components.code,{children:`warranty_claim`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.td,{children:`varchar(30)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Current workflow status`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_title`})}),_jsx(_components.td,{children:`varchar(60)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Claim title`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_description`})}),_jsx(_components.td,{children:`text`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Detailed claim description`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_by_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`User who created the claim`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`defect_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Source defect (1:1 relationship)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project for multi-tenancy`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`component_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Component this claim relates to (from defect)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vehicle_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Vehicle this claim relates to (from defect)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_group_id`})}),_jsx(_components.td,{children:`int8`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Product group from the defect at claim creation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`reference`})}),_jsx(_components.td,{children:`varchar(20)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Human-readable identifier WC-YYYY-NNNN, generated on creation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:`varchar(20)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Claim type classification`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`origin_defect_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Earlier defect this REPARATION claim is a rework of`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 2 checks, 2 unique, 7 foreign keys, 1 primary key`,id:`constraints-2-checks-2-unique-7-foreign-keys-1-primary-key`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_must_have_vehicle_or_component`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(((vehicle_id IS NOT NULL) OR (component_id IS NOT NULL)))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_origin_matches_type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((((origin_defect_id IS NOT NULL) AND ((type)::text = 'REPARATION'::text)) OR ((NOT ((type)::text = 'REPARATION'::text)) AND (origin_defect_id IS NULL))))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(component_id) REFERENCES assets_component(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(created_by_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(defect_id) REFERENCES defect(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(origin_defect_id) REFERENCES defect(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(product_group_id) REFERENCES assets_productgroup(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(vehicle_id) REFERENCES assets_vehicle(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_warranty_claim_reference_per_project`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id, reference)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_defect_id_key`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(defect_id)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_claim_group`,children:_jsx(_components.code,{children:`warranty_claim_group`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_group_title`})}),_jsx(_components.td,{children:`varchar(60)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Display title for the group`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_group_description`})}),_jsx(_components.td,{children:`text`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Detailed description of the grouped issue`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:`varchar(20)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Group type classification`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`status`})}),_jsx(_components.td,{children:`varchar(30)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Current workflow status`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_by_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`User who created the group`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project for multi-tenancy`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_group_id`})}),_jsx(_components.td,{children:`int8`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Product group this group is classified on`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`reference`})}),_jsx(_components.td,{children:`varchar(20)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Human-readable identifier WCG-YYYY-NNNN, generated on creation`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 1 unique, 3 foreign keys, 1 primary key`,id:`constraints-1-unique-3-foreign-keys-1-primary-key`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(created_by_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(product_group_id) REFERENCES assets_productgroup(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_warranty_claim_group_reference_per_project`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id, reference)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_claim_group_warranty_claim`,children:_jsx(_components.code,{children:`warranty_claim_group_warranty_claim`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`association_status`})}),_jsx(_components.td,{children:`varchar(20)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Current approval status`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`reviewed_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`When the association was reviewed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`claim_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`The warranty claim being associated`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`group_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`The warranty claim group`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project for multi-tenancy`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`reviewed_by_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Supplier who reviewed the association`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 1 check, 1 unique, 2 unique indexes, 4 foreign keys, 1 primary key`,id:`constraints-1-check-1-unique-2-unique-indexes-4-foreign-keys-1-primary-key`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`association_review_fields_consistency`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(((((association_status)::text = 'PENDING'::text) AND (reviewed_by_id IS NULL) AND (reviewed_at IS NULL)) OR ((NOT ((association_status)::text = 'PENDING'::text)) AND (reviewed_by_id IS NOT NULL) AND (reviewed_at IS NOT NULL))))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(claim_id) REFERENCES warranty_claim(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(group_id) REFERENCES warranty_claim_group(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(reviewed_by_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_claim_group_association`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(claim_id, group_id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique index`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_accepted_association_per_claim`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(claim_id) WHERE ((association_status)::text = 'ACCEPTED'::text)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique index`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_pending_association_per_claim`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(claim_id) WHERE ((association_status)::text = 'PENDING'::text)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_claim_status_update`,children:_jsx(_components.code,{children:`warranty_claim_status_update`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`new_status`})}),_jsx(_components.td,{children:`varchar(30)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Status after the transition`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`message`})}),_jsx(_components.td,{children:`text`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Optional message (required for rejections)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project (auto-derived from claim or group)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`User who triggered the transition`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Target warranty claim (mutually exclusive with group)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_group_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Target warranty claim group (mutually exclusive with claim)`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 1 check, 4 foreign keys, 1 primary key`,id:`constraints-1-check-4-foreign-keys-1-primary-key`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`status_update_exactly_one_target`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((((warranty_claim_id IS NOT NULL) AND (warranty_claim_group_id IS NULL)) OR ((warranty_claim_id IS NULL) AND (warranty_claim_group_id IS NOT NULL))))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_group_id) REFERENCES warranty_claim_group(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_id) REFERENCES warranty_claim(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(user_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_claim_comment`,children:_jsx(_components.code,{children:`warranty_claim_comment`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`content`})}),_jsx(_components.td,{children:`text`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Comment text`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project (auto-derived from claim or group)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Comment author`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Target warranty claim (mutually exclusive with group)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_group_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Target warranty claim group (mutually exclusive with claim)`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 1 check, 4 foreign keys, 1 primary key`,id:`constraints-1-check-4-foreign-keys-1-primary-key-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`comment_exactly_one_target`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((((warranty_claim_id IS NOT NULL) AND (warranty_claim_group_id IS NULL)) OR ((warranty_claim_id IS NULL) AND (warranty_claim_group_id IS NOT NULL))))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_group_id) REFERENCES warranty_claim_group(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_id) REFERENCES warranty_claim(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(user_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_claim_attachment`,children:_jsx(_components.code,{children:`warranty_claim_attachment`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:`varchar(255)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Display name / filename`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`file_url`})}),_jsx(_components.td,{children:`varchar(1024)`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Permanent Azure Blob URL; null until finalize confirms upload.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mime_type`})}),_jsx(_components.td,{children:`varchar(100)`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`MIME type (e.g., application/pdf)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`file_size`})}),_jsx(_components.td,{children:`int8`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`File size in bytes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project (auto-derived from claim or group)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`user_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`User who registered the attachment`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Target warranty claim (mutually exclusive with group)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_group_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Target warranty claim group (mutually exclusive with claim)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`client_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Client-generated UUID for upload retry idempotency.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`uploaded_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`},children:`✓`}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Set by DocumentService.finalize_upload when the blob is confirmed.`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 1 check, 1 unique, 2 unique indexes, 4 foreign keys, 1 primary key`,id:`constraints-1-check-1-unique-2-unique-indexes-4-foreign-keys-1-primary-key-1`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`attachment_exactly_one_target`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((((warranty_claim_id IS NOT NULL) AND (warranty_claim_group_id IS NULL)) OR ((warranty_claim_id IS NULL) AND (warranty_claim_group_id IS NOT NULL))))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_group_id) REFERENCES warranty_claim_group(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_id) REFERENCES warranty_claim(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(user_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_claim_attachment_client_id_key`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(client_id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique index`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`attachment_unique_name_per_claim`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_id, name) WHERE (warranty_claim_id IS NOT NULL)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique index`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`attachment_unique_name_per_group`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(warranty_claim_group_id, name) WHERE (warranty_claim_group_id IS NOT NULL)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`warranty_reference_counter`,children:_jsx(_components.code,{children:`warranty_reference_counter`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prefix`})}),_jsx(_components.td,{children:`varchar(4)`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Reference prefix (WC or WCG)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`year`})}),_jsx(_components.td,{children:`int2`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Calendar year the sequence belongs to`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_number`})}),_jsx(_components.td,{children:`int`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Highest number handed out so far`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project for multi-tenancy`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 2 checks, 1 unique, 1 foreign key, 1 primary key`,id:`constraints-2-checks-1-unique-1-foreign-key-1-primary-key`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_reference_counter_last_number_check`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((last_number >= 0))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`warranty_reference_counter_year_check`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((year >= 0))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_warranty_reference_counter`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id, prefix, year)`})})]})]})]})}),`\n`,_jsx(Heading,{level:`3`,id:`similarity_recurrence_dismissal`,children:_jsx(_components.code,{children:`similarity_recurrence_dismissal`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{style:{textAlign:`center`},children:`Null`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`created_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updated_at`})}),_jsx(_components.td,{children:`timestamptz`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`defect_high_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Higher-ordered defect id of the dismissed pair`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`defect_low_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Lower-ordered defect id of the dismissed pair`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dismissed_by_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Warranty Manager who dismissed the pair`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`uuid`}),_jsx(_components.td,{style:{textAlign:`center`}}),_jsx(_components.td,{}),_jsx(_components.td,{children:`Parent project for multi-tenancy`})]})]})]}),`\n`,_jsx(Accordion,{title:`Constraints — 1 check, 1 unique, 4 foreign keys, 1 primary key`,id:`constraints-1-check-1-unique-4-foreign-keys-1-primary-key`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Kind`}),_jsx(_components.th,{children:`Name`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Check`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`recurrence_dismissal_pair_ordered`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`((defect_low_id \u003c defect_high_id))`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(defect_high_id) REFERENCES defect(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(defect_low_id) REFERENCES defect(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(dismissed_by_id) REFERENCES users_user(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Foreign key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id) REFERENCES project(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primary key`}),_jsx(_components.td,{}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(id)`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unique`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`unique_recurrence_dismissal_pair`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`(project_id, defect_low_id, defect_high_id)`})})]})]})]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Warranty tables","description":"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.","href":"/data/tables/warranty"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"warranty_claim","slug":"warranty_claim","depth":3,"children":[]},{"title":"warranty_claim_group","slug":"warranty_claim_group","depth":3,"children":[]},{"title":"warranty_claim_group_warranty_claim","slug":"warranty_claim_group_warranty_claim","depth":3,"children":[]},{"title":"warranty_claim_status_update","slug":"warranty_claim_status_update","depth":3,"children":[]},{"title":"warranty_claim_comment","slug":"warranty_claim_comment","depth":3,"children":[]},{"title":"warranty_claim_attachment","slug":"warranty_claim_attachment","depth":3,"children":[]},{"title":"warranty_reference_counter","slug":"warranty_reference_counter","depth":3,"children":[]},{"title":"similarity_recurrence_dismissal","slug":"similarity_recurrence_dismissal","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"a7tech","siteName":"A7 manager","title":"Warranty tables - A7 manager","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-06T18:40:06.575Z","originalFileLocation":"data/tables/warranty.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.\">\u003cmeta data-mint-head name=\"application-name\" content=\"A7 manager\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Warranty tables - A7 manager\">\u003cmeta data-mint-head property=\"og:description\" content=\"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"A7 manager\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.a7manager.se/data/tables/warranty\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://a7tech.mintlify.app/_mintlify/api/og/v2?division=Tables\u0026amp;title=Warranty+tables\u0026amp;description=Claims%2C+groups%2C+their+association+handshake%2C+the+shared+activity+timeline%2C+and+dismissed+recurrence+pairs.\u0026amp;theme=a9098c755b87d1ea4134c8a5\u0026amp;signature=a8ff72cb1c74dc2f66c7a73a5c41f35e9e6bd2c1c7477648ad34b017689cbd8f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Warranty tables - A7 manager\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://a7tech.mintlify.app/_mintlify/api/og/v2?division=Tables\u0026amp;title=Warranty+tables\u0026amp;description=Claims%2C+groups%2C+their+association+handshake%2C+the+shared+activity+timeline%2C+and+dismissed+recurrence+pairs.\u0026amp;theme=a9098c755b87d1ea4134c8a5\u0026amp;signature=a8ff72cb1c74dc2f66c7a73a5c41f35e9e6bd2c1c7477648ad34b017689cbd8f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/a7tech/KMXth563saw9sJGT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"A7 manager\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3d4700\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.a7manager.se/data/tables/warranty\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/data/tables/warranty.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.a7manager.se/#organization\",\"name\":\"A7 manager\",\"url\":\"https://docs.a7manager.se\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.a7manager.se#website\",\"name\":\"A7 manager\",\"url\":\"https://docs.a7manager.se\",\"publisher\":{\"@id\":\"https://docs.a7manager.se/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.a7manager.se/data/tables/warranty#webpage\",\"url\":\"https://docs.a7manager.se/data/tables/warranty\",\"name\":\"Warranty tables\",\"description\":\"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.\",\"dateModified\":\"2026-10-06T18:40:06.575Z\",\"isPartOf\":{\"@id\":\"https://docs.a7manager.se#website\"},\"breadcrumb\":{\"@id\":\"https://docs.a7manager.se/data/tables/warranty#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.a7manager.se/data/tables/warranty#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Tables\",\"item\":\"https://docs.a7manager.se/data/tables/projects-and-users\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Warranty tables\",\"item\":\"https://docs.a7manager.se/data/tables/warranty\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.a7manager.se/data/tables/warranty#article\",\"headline\":\"Warranty tables\",\"name\":\"Warranty tables\",\"description\":\"Claims, groups, their association handshake, the shared activity timeline, and dismissed recurrence pairs.\",\"url\":\"https://docs.a7manager.se/data/tables/warranty\",\"mainEntityOfPage\":{\"@id\":\"https://docs.a7manager.se/data/tables/warranty#webpage\"},\"dateModified\":\"2026-10-06T18:40:06.575Z\",\"publisher\":{\"@id\":\"https://docs.a7manager.se/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.a7manager.se#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"A7 manager\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"A7 manager","nav":{"global":null,"tabs":[{"tab":"Platform","icon":"train","pages":[{"title":"Platform","href":""}]},{"tab":"Pages","icon":"desktop","pages":[{"title":"Pages","href":"/pages/ask-ai"}]},{"tab":"Data","icon":"database","groups":[{"group":"Overview","pages":[{"title":"Database structure","href":"/data/schema-overview"},{"title":"How ingestion works","href":"/data/ingestion"}]},{"group":"File formats","pages":[{"title":"vehicle_configurations","href":"/data/files/vehicle-configurations"},{"title":"defects","href":"/data/files/defects"},{"title":"vehicle_readings","href":"/data/files/vehicle-readings"},{"title":"maintenance_records","href":"/data/files/maintenance-records"},{"title":"measurements","href":"/data/files/measurements"},{"title":"vehicle_out_of_service","href":"/data/files/vehicle-out-of-service"},{"title":"cleaning_records","href":"/data/files/cleaning-records"},{"title":"maintenance_plans","href":"/data/files/maintenance-plans"}]},{"group":"Tables","pages":[{"title":"Projects and Users tables","href":"/data/tables/projects-and-users"},{"title":"Assets tables","href":"/data/tables/assets"},{"title":"Service Book tables","href":"/data/tables/service-book"},{"title":"Defects tables","description":"Faults recorded against a vehicle or component.","href":"/data/tables/defects"},{"title":"Warranty tables","href":"/data/tables/warranty"},{"title":"High-Value Components tables","description":"The repair-loop audit trail over assets_component.","href":"/data/tables/high-value-components"},{"title":"Inspections tables","href":"/data/tables/inspections"},{"title":"Reporting tables","href":"/data/tables/reporting"},{"title":"Measurements tables","href":"/data/tables/measurements"},{"title":"Planner tables","href":"/data/tables/planner"}]}]}]},"title":"Warranty tables - A7 manager","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}