# Till-float planning, training cohorts and exact raster encoding

## Till Float Assembly Plan

Plan an exact till float from bounded denomination stock while preserving declared reserves. Supply sourceRevision, currency, targetMinor and up to 16 denominations with id, valueMinor, availablePieces, reservePieces and minimumPieces. Identities, the revision and the currency are opaque, case-sensitive ASCII labels of 1 to 48 letters, digits, underscores, periods, colons, pipes or hyphens. Currency is one supplied label, with no validation of a currency system or conversion. Denomination IDs and positive denomination values must each be unique. Every numeric input is a safe whole integer; target and counts are nonnegative. A reserve cannot exceed stock, and a minimum cannot exceed stock after its reserve. Each successful selected count is between its declared minimum and available pieces minus reserve. The exact objective minimizes total selected pieces, including minimum pieces, then chooses the lexicographically greatest selected-count vector in denomination input order. Selected allocations contain positive counts in that order. Stock after the plan retains every denomination in input order and reports original stock and remaining pieces. A zero target succeeds with zero pieces when all minima are zero. Minimum-value totals and greatest-common-divisor calculations use exact integers. After minimum pieces are accounted for, only denominations with usable additional stock and value no greater than the residual enter its positive greatest common divisor. A nondivisible residual is infeasible. The actual dynamic-programming residual divided by that divisor must be at most 20,000; a larger residual rejects the whole request during preflight before quoting. Huge stock counts are bounded by the residual, rather than enumerated. This is a technical workload bound, not a payment or customer limit. An infeasible result is atomic: selected allocations are empty, totalPieces and assembledMinor are zero, stock is unchanged and infeasibilityReason explains the modeled failure. Invalid reserve or minimum relationships reject the request instead. The shared 36,000-byte, 6,000-node, depth-24 input profile and 500,000-byte output guard also apply. This supplied-record optimum does not reserve cash, change stock, establish physical availability, authorize handling or model denomination authenticity or other operational constraints. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](till-float-assembly-plan.request.example.json) · [Input schema](till-float-assembly-plan.input.schema.json) · [Result schema](till-float-assembly-plan.result.schema.json)

## Training Session Cohort Assignment Plan

Assign required training courses to session cohorts with exact opening-cost and seat optimization. Supply sourceRevision, currency, people with id and availability windows, courses with id, sessions with id, courseId, startMinute, endMinute, capacity and openingCostMinor, and requirements with personId and courseId in the desired output order. Identities, revision and currency are opaque, case-sensitive ASCII labels of 1 to 48 letters, digits, underscores, periods, colons, pipes or hyphens. People, courses and sessions each require unique IDs. Every reference must be declared, and each person and course requirement pair must be unique. Currency is one supplied label with no currency-system validation or conversion. All minute, capacity and opening-cost inputs are nonnegative safe whole integers. Availability and session intervals use one common minute timeline, have end strictly after start, and are half open: touching sessions do not overlap. An entire session must fit inside one supplied availability window for that person. Adjacent or overlapping windows are not merged to infer a larger window. Each requirement receives one session of its exact course; session capacity and each person's nonoverlapping itinerary are respected. The same session opening cost is charged once when one or more people are assigned, regardless of occupancy. The exact objective minimizes the sum of opened session costs, then the number of opened sessions, then the lexicographically smallest vector of zero-based session input indexes in requirement input order. The total openingCostMinor is an exact decimal string, including when the sum exceeds the safe numeric range. Assignments follow requirement order, opened sessions and occupancies follow session input order, and all people receive a chronological itinerary in people input order. Unopened zero-cost sessions are not included as opened. Up to 16 people, 16 availability windows per person, 16 courses, 16 sessions and 12 requirements are supported within the shared 36,000-byte, 6,000-node, depth-24 input profile and 500,000-byte output guard. Exact search evaluates at most 200,000 candidate branches, checking the budget before each next branch. Exhaustion rejects the whole request during preflight before quoting, even if an earlier feasible assignment was found; no partial optimum is returned. These are technical workload bounds, not payment or customer limits. An infeasible completed search returns empty assignments, assignment indexes and opened sessions, a zero cost and zero occupancies. An empty requirement list is planned with no opened sessions. This supplied-record optimum does not enroll people, book rooms, charge money, verify attendance or eligibility, infer travel or prerequisites, or authorize external changes. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](training-session-cohort-assignment-plan.request.example.json) · [Input schema](training-session-cohort-assignment-plan.input.schema.json) · [Result schema](training-session-cohort-assignment-plan.result.schema.json)

## PAM P7 Raster Encoder

Encode supplied row-major samples as a complete PAM P7 raster in lowercase hexadecimal. Choose GRAYSCALE, GRAYSCALE_ALPHA, RGB or RGB_ALPHA; depth is derived as 1, 2, 3 or 4. Positive width and height are each at most 1024, with at most 1024 pixels and exactly width times height times depth samples, at most 4096. MAXVAL is 1–65535 and every integer sample must be between zero and MAXVAL. The canonical LF header uses WIDTH, HEIGHT, DEPTH, MAXVAL, TUPLTYPE and ENDHDR in that order. Samples use one byte when MAXVAL is below 256, otherwise two bytes in big-endian order. Return the complete hex, separate header and raster hex, byte length and typed header. No scaling, color conversion, image decoding, filesystem access or downloadable file. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](pam-p7-raster-encoder.request.example.json) · [Input schema](pam-p7-raster-encoder.input.schema.json) · [Result schema](pam-p7-raster-encoder.result.schema.json)

## Farbfeld RGBA16 Encoder

Encode supplied row-major RGBA16 pixels as a complete Farbfeld raster in lowercase hexadecimal. Positive width and height are each at most 1024, with at most 1024 pixels and exactly width times height pixel arrays. Each pixel has four integer channels from 0 to 65535. The eight-byte farbfeld magic is followed by 32-bit big-endian width and height and 16-bit big-endian red, green, blue and alpha samples. Return complete hex, byte length and typed header. Sample values are preserved without premultiplication, scaling or color conversion. No image decoding, filesystem access or downloadable file. Use authorized, non-sensitive data. The report describes supplied records and does not change external systems.

[Request example](farbfeld-rgba16-encoder.request.example.json) · [Input schema](farbfeld-rgba16-encoder.input.schema.json) · [Result schema](farbfeld-rgba16-encoder.result.schema.json)

One-time job. See the exact service price before checkout. Save your private JSON result within its 30-day access period.
Requests accept at most 36,000 UTF-8 input bytes. Send only authorized, non-sensitive records.

For a known hosted offer, read current checkout and wallet availability with `GET https://gatewayinformationgroup.com/api/catalog/v1/search?id=PRODUCT_ID`. Then use the input schema and request example above.

Use the existing [agent checkout guide](https://gatewayinformationgroup.com/developers) to prepare a quote, pay and retrieve the private result.
