Move from XML V1 to V2

V2 is intentionally strict: change the document structure, rename legacy fields while preserving numeric location IDs, then validate before production cutover.

Import documentation menu
  1. 1. Change the document structure

    Use the V2 namespace and singular category elements. Put every scalar field directly in the listing element; features/feature_id, photos/photo_url, and commercial_room_purposes/commercial_room_purpose_id are nested collections. V2 never accepts V1 aliases.

  2. 2. Rename location fields

    Keep the existing numeric Domoplius IDs and rename the fields to administrative_unit_id, settlement_id, microdistrict_id, and street_id.

  3. 3. Normalize values and prices

    Use current option IDs and EUR prices. The converter preserves all commercial purposes in commercial_room_purposes, handles deterministic legacy aliases. Conflicting aliases remain blockers.

  4. 4. Review complete snapshots

    Every V2 record is the complete desired listing state. Omitted optional data, features, photos, video, and coordinates can clear the previously imported value.

  5. 5. Validate without side effects

    The public tool does not create sources, runs, listings, jobs, photos, or reconciliation state. Disabled-source admin validation remains authoritative for account, broker, plan, existing-listing, and photo-network checks.

  6. 6. Cut over safely

    Keep the legacy importer live while public and disabled-source checks run. Laravel V1 and V2 sources may coexist in one owner-wide batch, but Laravel writes remain blocked until every legacy importer configuration for that owner is disabled.

Safe overlap in one sentence

Validate V2 in parallel, keep V1 as the live production path, then switch all of one owner’s sources together after the V2 baseline is accepted.

Migration resources

Technical resources