Dividers Contract Reservation Adjustment Reference
Background
Dividers Contract Reservation Adjustment is a DocType provided by the Dividers app. It is the supported path for swapping or replacing stores on a large draft Dividers Contract. Releases handles making reservation spaces available, Placements manages booking replacement spaces, and Apply saves queued changes to the contract.
Info
This is a reference. For the procedure, see How To Adjust Contract Reservations.
Naming and Lifecycle
Names use ADJ-{contract name}. There is no Submit. Save + Apply are
the lifecycle. Track Changes is on.
The Doctype is designed so that there can only be one adjustment document per contract. A saved document is named after the contract, so Frappe will refuse a second document for the same contract.
The contract link only lists draft contracts. If the linked contract is not draft, the form is read-only, save is disabled, and Add/Apply are hidden.
System Manager, Dividers Contract User, and Dividers Contract Manager all have create, read, write, and delete.
Adjustment Status
Computed on validate/apply, in this order:
- Errors if parent Errors is set or any row State is Error.
- Pending if any row is blank or Pending.
- Else Balanced if reserved equals purchased, otherwise Unbalanced.
An empty document with no rows is Balanced or Unbalanced against the live contract (nothing is Pending).
Dividers Contract Reservation Adjustment Form
Top Section
- Dividers Contract
- Required. Draft contracts only.
- Period Type
- Read-only Cycle or Month, fetched from the contract. Cycle fields use four-digit cycle codes; Month fields use dates. Only one set of fields is visible at a time.
- Adjustment Status
- Read-only. Pending, Unbalanced, Balanced, or Errors.
Contact Summary Section
- Contract Info
- HTML card: production number (falls back to contract name) and status; customer; contact; address; Date; Company; Cont. (Yes / No / Cancelled (date)); Partner; Sales Team; Terms; Grand Total; Cont. Amt (last Continuation billing row if Continuation is on).
- Stores By Chain
-
Columns Chain, Orig, Contr., Rel., Plac.
- Orig
- Stores with Original Reservation selected (purchased).
- Contr.
- Stores with Enabled selected (reserved).
- Rel.
- Applied (Released) releases on this document and on adjustment documents for earlier amended versions of the contract. Shown as −N.
- Plac.
- Applied (Placed) placements, same ancestor scope. Shown as +N.
Cell format: unique store count, or
unique/allwhen they differ. Empty chain is (No chain). Totals footer if more than one chain.
Fulfillment Section
Live fulfillment cards and by-chain table. Same component as Analyze Contract Fulfillment.
Pending Adjustments Section
Placements − Releases = Total from open rows only (Pending, Error,
or blank). Releases is based on Freed; Placements is based on Length
(skipped if Placement is already set). Total is green if greater than 0,
red if less than 0.
Not the same as Balanced.
Adjustments Section
Releases
Grid columns: Source Reservation, Surface, Spaces, Freed, Keep, Released On.
- Source Reservation
- Required. Select an enabled, non-cancelled Dividers Reservation on this contract that is not already on another open release.
- Non-original Reservation
- Read-only. Set after Apply if a new reservation was created because the source row was original.
- Source Store, Surface, Spaces
- Read-only; filled from the reservation.
- Partial Release
- Off = free all periods. On = keep the first part of a reservation, free the tail.
- End Cycle / End Date
- Visible only if Partial Release is selected. Autocomplete contains all of a reservation's cycles as options. The selected option will be the last cycle/date of the reservation after the release is applied.
- Freed / Keep
- Read-only integers calculated based on the selected End Cycle / End Date. Keep is how many periods remain on the reservation. Freed is length minus Keep.
- State
- Pending / Released / Error.
- Released On / Released By
- Stamped on success.
- Errors
- Error details on failure.
Placements
Grid columns: Replacement Store, Surface, Spaces, Start Cycle or Start Date, End Cycle or End Date, Placed On.
- Replacement Store
- Required. Select a Dividers Store. Inactive stores warn {store} is not active but can still be selected.
- Surface
- Face (default) / Edge.
- Spaces
- 1 or 2, required.
- Existing Dividers Reservations
- HTML of current reservations on that store (collapsible Store Reservations). Empty: No reservations for store {id}.
- Use Default Reservation Term
-
Default on. Length is the usual length among enabled reservations: the length used by more than half of them, otherwise the most common length. If two lengths tie, or none have a positive length, the contract Total Periods is used. Start is the contract start. Uncheck to edit start, length, and end.
Example: 10 stores at 12 and 2 at 6 → default length 12. Five at 12 and five at 6 → tie → Total Periods.
- Start/End Cycle or Date, Length
- Follow parent Period Type. End must equal start + length (inclusive).
- Copy Continuation Settings
- Default on. Copies contract Continuation, Cancel Continuation Pre-Commencement, and Continuation end. Those fields are read-only while checked.
- Continuation
- When selected, this placement renews after the written term (same idea as Continuation on the contract).
- Cancel Continuation Pre-Commencement
- Cancel this reservation's continuation before it begins.
- Continuation End Cycle / Continuation End Date
- Optional last period of Continuation on this placement. Only one shows (Cycle vs Month follows the parent Period Type). Read-only while Copy Continuation Settings is checked (value comes from the contract). Leave blank for open-ended Continuation.
A placement may include at most one contract extension and at most one continuation extension. On the row form each is its own section, gated by the checkboxes below. Both sections use the same field labels (Type, Extension Length, Start, End, Issue…, Notes); ownership and rules differ.
- Place with a contract extension
-
Optional checkbox. When checked, the Contract Extension section appears. After Apply succeeds, that window is added on the placement's Dividers Reservation under Contract Extensions.
- Type
- Dividers Reservation Type. Default Extension. Required when this checkbox is on.
- Extension Length
- Required when this checkbox is on. Number of periods in the extension.
- Start Cycle / Start Date
- Required (Cycle or Month matches the parent Period Type). Default: the period after the placement written-term end. Must not start before the placement start, and must fall within the placement period or be contiguous with it.
- End Cycle / End Date
- Read-only, computed from start + length.
- Issue Start / Issue End
- Optional sub-window on this extension for tracking purposes; the period related to why we gave the extension (not an ERPNext Issue document). If Issue Start is set, Issue End is required. Issue Start cannot be before the placement start.
- Notes
- Optional. Applies only to this contract extension.
- Place with a continuation extension
-
Optional checkbox. Shown only when Continuation is on; turning Continuation off clears this checkbox and its fields. When checked, the Continuation Extension section appears. After Apply succeeds, that window is added on the placement's Dividers Reservation under Continuation Extensions.
- Type
- Dividers Reservation Type. Default Extension. Required when this checkbox is on.
- Extension Length
- Required when this checkbox is on. Number of periods in the extension.
- Start Cycle / Start Date
- Required (Cycle or Month matches the parent Period Type). Default: the period after the placement written-term end. Must not start before Continuation begins (the period after that same adjusted end). If this row has a Continuation End, this extension's end cannot be after it.
- End Cycle / End Date
- Read-only, computed from start + length.
- Issue Start / Issue End
- Optional sub-window on this extension (same meaning as under Contract Extension). If Issue Start is set, Issue End is required. Issue Start cannot be before the placement start.
- Notes
- Optional. Applies only to this continuation extension.
- State
- Pending / Placed / Error.
- Placed On / Placed By
- Stamped on success.
- Placement
- The Dividers Reservation that was created or modified.
- Clear Error
- Visible when State is Error and Placement is set. Clears row errors, sets State back to Placed, saves.
- Errors
- Error details on failure.
Open Placement rows cannot share store + surface + spaces with overlapping or adjacent terms. An open Placement cannot overlap an enabled contract reservation on the same store/surface/spaces (pending full releases of that reservation are treated as disabled; pending partials use the keep end). Occupancy and industry exclusivity are checked unless the contract has override exclusivity.
If Continuation is on and Cancel Continuation Pre-Commencement is off, occupancy is open-ended for overlap checks.
Notes
Text Editor. Free-form notes related to the adjustment.
Errors Section
- Errors
- Read-only. Error details for the document.
- Clear Errors Field
- Only if Errors has a value. Clears parent Errors and saves. Does not clear row errors.
Toolbar (draft contract only)
Add: Add Release, Add Placement.
Apply: Pending Releases, Pending Placements, All Pending Adjustments. Document must be saved and not dirty.
Apply All order: open releases, then open placements. The contract must still have at least one enabled reservation. The contract is saved once, successful rows are stamped, placement extensions are written, then this document is saved.
Sales Invoice: disabled unless this document is Balanced with no Errors/Pending. See How To Adjust Contract Reservations.
Error Messages
| Message | When |
|---|---|
| Dividers Contract is required. | Save with no contract. |
| Contract {name} is not a draft. Adjustments can only target a draft contract. | Validate/save against a submitted or cancelled contract. |
| Save the adjustment before applying. | Apply on an unsaved document. |
| Save the document before applying adjustments. | Apply while dirty (on the form). |
| Save the contract before adjusting reservations. | Manage button on a new contract. |
| Release row {n}: reservation is required / does not exist / is not on contract / is cancelled / is not enabled. | Release validate. |
| Release rows {i} and {j}: reservation {id} is already on another open release. | Duplicate open release. |
| Release row {n}: end cycle/date must be one of the reservation periods. | Partial end not in the autocomplete. |
| Release row {n}: leftover continuation extensions block an in-place partial release. | Partial on a non-original with Continuation extensions. |
| Release row {n}: leftover contract extensions are not within or contiguous with the keep end. | Partial keep too short for existing extensions. |
| Dividers Contract must contain at least one enabled reservation. | Full release would empty the contract. Those full releases are put back; partials in the same batch are kept. |
| Placement row {n}: replacement store is required. | |
| Placement row {n}: start cycle, length, and end cycle are required. (month analogue) | Default term off, incomplete. |
| Placement row {n}: end cycle must match start cycle + length. | |
| Placement row {n}: {Contract|Continuation} Extension length is required. | Checkbox on, length ≤ 0. |
| Placement row {n}: {label} start cycle cannot be before the reservation start cycle. | |
| Placement row {n}: {label} start cycle is not within or contiguous with the reservation period. | |
| Placement row {n}: Continuation Extension start cycle cannot be before the continuation start cycle. | |
| Placement row {n}: Continuation Extension end cycle cannot be after the continuation end cycle. | |
| Placement rows {i} and {j}: overlapping or adjacent terms on … | Split a continuous block across two Placement rows. |
| Placement row {n}: {store} / {surface} / {spaces} overlaps existing contract reservation {link} ({period}). | |
| Placement row {n}: Overlapping Exclusive Reservations: … | Industry exclusivity. |
| Placement row {n}: Booking {spaces} would overbook store {store} by … Conflicting bookings: … | Capacity. |
| Placement row {n}: more than one merge target for … | Two reservation rows both contiguous with this placement. Rare. |
| Apply failed | Contract save threw; parent Errors filled; rows may be mixed. |
| No live Contract-type Sales Invoice found | Regenerate. |
| Sales Invoice must be submitted to regenerate | Regenerate on a draft Sales Invoice. |
| {store} is not active | Warning only; placement is still allowed. |