Dérivation de référence
Comment un dossier UGP devient un statut, un grade, un indicateur Premium et un code de base, sous forme d’étapes qu’une implémentation peut suivre.
Le grade, le statut et le code de base sont dérivés du dossier par une fonction déterministe, et ne sont jamais saisis à la main. §4.4 L’implémentation de référence du gestionnaire de la norme s’appelle computeUgp(record) et renvoie { status, reasons[], grade, premium, core_code }. Cette page présente les mêmes étapes en pseudocode, pour que vous puissiez construire votre propre implémentation et la vérifier à l’aide des exemples de référence.
1. Tranche de batterie
si aucune batterie, ou scellé → na
sinon si test de maintien de charge → CP : standard · CF : service
sinon si aucune lecture ni déclaration → unknown
sinon si santé < 80 → service
sinon si santé ≥ 90 et mesurée → premium
sinon → standard (80–89 mesurée, ou déclarée ≥ 80)2. Statut : la première règle applicable
PROHIBITED déclaré perdu ou volé; contrefaçon; rappelé pour sécurité; IMEI non concordant ou altéré
ENCUMBERED verrous = E ou U
UNSANITIZED données = X ou U, et non scellé
PARTS esthétique = E; ou fonctionnel = FK avec destination : pièces
REPAIR esthétique = K; ou fonctionnel = FM, FJ ou FK; ou tranche de batterie = service (CF compris)
NOT GRADED esthétique = N; ou fonctionnel = FX sur un appareil non scellé; ou tranche de batterie = unknown;
ou identity.blacklist.status = unchecked (motif lost_stolen_unchecked)
READY aucun des cas ci-dessusRassemblez dans reasons[] les codes du lexique ou des axes qui ont déclenché la règle. §11.1
3. Grade
Seul un dossier prêt (READY) reçoit un grade, et exactement un :
esthétique S → NS Neuf scellé
esthétique O → OB Neuf, boîte ouverte (kit H → "Neuf, boîte ouverte · appareil seul")
esthétique A ou A0 → A Comme neuf
esthétique B ou B0 → B Très bon état
esthétique C ou C0 → C Bon état
esthétique D ou D0 → D État acceptableLa valeur esthétique elle-même découle des nombres de défauts par zone et du tableau des tolérances : le meilleur grade dont la colonne convient à chaque zone, suivi de 0 lorsque la zone AA ne présente aucun défaut. §11.2 · §5.5
4. Premium
premium = grade = A et esthétique = A0 et tranche de batterie = premium (≥ 90 %, mesurée) et pièces = G5. Code de base
Écrivez chaque segment dans l’ordre fixe, en codant un axe qui ne s’applique pas comme sans objet, sans jamais l’omettre :
U{major}-{class}-C{cos}-F{func}-B{bat}-L{lock}-R{op}-D{data}-P{parts}-K{kit}[~ext,…]
ext : src:supplier lorsque axes.cosmetic.mapped_from est renseignéVérifiez le résultat à l’aide de l’expression régulière du §12.2. §12.1 · §12.3
6. Indications
Avec le résultat, énumérez ce que chaque affichage du grade indique : le verrouillage opérateur s’il y a verrouillage, chaque pièce non d’origine, le contenu s’il n’est pas complet, et la base de la batterie. Deux autres indications viennent des axes d’identité et esthétique : lost_stolen_declared lorsque « non déclaré perdu ou volé » repose sur une déclaration, et supplier_mapped lorsque la valeur esthétique comporte mapped_from; un code transposé du fournisseur se termine aussi par ~src:supplier. §9.3 · §13.6 §11.4