dazho-orders

star 0

Order archival document copies from ДАЖО (Державний архів Житомирської області). Fills the PDF order form, manages order lifecycle in Plane, tracks receipt. Use when ordering documents from ДАЖО, filling Замовлення на копіювання, or managing Zhytomyr archive requests.

akushsky By akushsky schedule Updated 3/7/2026

name: dazho-orders description: Order archival document copies from ДАЖО (Державний архів Житомирської області). Fills the PDF order form, manages order lifecycle in Plane, tracks receipt. Use when ordering documents from ДАЖО, filling Замовлення на копіювання, or managing Zhytomyr archive requests.

ДАЖО Document Orders

Overview

Workflow for ordering digital copies of archival cases from ДАЖО (Zhytomyr State Archive). Covers the full lifecycle: identify cases, fill the order form, submit, track in Plane, receive and process.

Tools

File Purpose
cli/dazho_order_template.pdf Blank order form (Замовлення на копіювання)
cli/fill_dazho_order.py Fills the form by overlaying text on the template
cli/dazho_603_cases_to_order.md Example: prioritized case list for fond 603

Order Form Script

python cli/fill_dazho_order.py \
  --fond 603 --opis 1 \
  --cases '100:69, 249:59, 250:40, 12, 20, 37' \
  --date '{day} {місяць_укр} {year}' \
  -o ~/Downloads/order.pdf
  • --date: always use today's date in Ukrainian genitive: 7 березня 2026, 15 квітня 2026, etc.
  • Cases format: case_num[:sheets] — omit sheets if unknown
  • Auto-paginates: 10 data rows per page, totals on last page
  • Applicant info hardcoded in script (APPLICANT, ADDRESS, EMAIL constants)
  • Requires: pip install reportlab pypdf

Workflow

1. Identify cases to order

Source: archival inventory (опис) PDFs, or cli/dazho_*_cases_to_order.md files. Each case needs: fond, opis, case number, sheet count (if known).

2. Generate order form

Run fill_dazho_order.py with the case list. Open the output PDF and verify text alignment.

3. Create Plane tracking

Project: Генеалогія: клиенти (bbed6e2c-30c8-4091-bf00-308bb7e5f2b6)

Structure:

Parent: "ДАЖО ф.{fond} оп.{opis} — {description}"          state: In Progress
  └─ Child: "Замовлення від {date} ({N} справ)"             state: In Progress
       ├─ "Справа {num} — {title} (~{year}, {sheets} арк.)" state: Todo
       └─ ...

States:

State ID Use
Backlog bdd5fdee-... Not yet planned
Todo 2f477e54-... Planned, not sent
In Progress c7e8af0a-... Order sent, awaiting response
Received 13ccb71e-... Files received from archive
Done d9cfd04d-... Processed and uploaded to jroots.co

When order is sent:

  • Set order work item to In Progress, start_date = send date
  • Add comment: "Замовлення відправлено до ДАЖО {date} електронною поштою"

4. Receive and process

When files arrive:

  • Update individual case items to Received
  • Upload scans to jroots.co using cli/upload.py
  • After upload, set items to Done

Applicant Details

Name:    Michael Akushsky
Address: 4035522, Israel, Kfar Yona, Motskin str., 22b
Email:   michael.akushsky@gmail.com

Director (addressee): І.М. Слобожану

Form Layout Notes

The template PDF has a 7-column table with 10 data rows per page. Column grid positions (in pt, extracted via pdfplumber) are hardcoded in fill_dazho_order.py. If the blank form changes, re-extract positions using:

import pdfplumber
with pdfplumber.open("template.pdf") as pdf:
    page = pdf.pages[0]
    for r in sorted(page.rects, key=lambda r: r['top']):
        print(f"x0={r['x0']:.1f} y0={r['top']:.1f} x1={r['x1']:.1f} y1={r['bottom']:.1f}")
Install via CLI
npx skills add https://github.com/akushsky/jroots.co --skill dazho-orders
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator