FIGURE 19

E-Signature Integration & Multi-Party Document Execution Workflow

OFFRPORTL — Provider-Agnostic Signature Envelope Management with Per-Signer Status Tracking and Executed Document Storage
Abstract
A computer-implemented system for initiating, tracking, and storing multi-party electronic signature workflows within a real estate offer management portal. Upon initiation by the listing agent, the system invokes an e-signature provider API to create a signature envelope for the binding contract document. The provider-assigned envelope_id and per-signer signing_urls are persisted to the Offer entity. A checkSignatureStatus backend function polls the provider API with the stored envelope_id to retrieve and persist current per-signer status (pending, signed, declined, expired) without requiring any signer to authenticate into the portal. On envelope completion, the fully-executed document PDF is retrieved from the provider, uploaded to platform file storage, and stored as signed_document_url on the Offer entity with a signing_completed_at audit timestamp, creating a complete chain of custody from pre-signature document to executed contract.
§1 — Signature Envelope State Diagram
NOT SENT
signing_status = not_sent
SENT
envelope created per-signer emails dispatched
IN PROGRESS
some signed some pending status polled
COMPLETED
all signed doc retrieved signed_doc stored
DECLINED
signer declined envelope voided new request needed
EXPIRED
deadline passed no action taken new request needed
DECLINED and EXPIRED states require a new sendForSignature call to restart the workflow · checkSignatureStatus called on each OfferDetails page load
§2 — E-Signature Process Flow (10 Steps)
1
LISTING AGENT
Initiates Send for Signature
Listing agent accesses OfferDetails page for an accepted offer. Agent clicks "Send for Signature" action. SignatureModal component opens, allowing agent to select signers (buyer, seller, buyer agent, listing agent) and upload or confirm the binding contract PDF (binding_contract_url).
2
SYSTEM
Invokes sendForSignature Backend Function
Modal submits signer list and document URL to sendForSignature backend function. Function receives: offer_id, document_url (binding_contract_url), and signers array [{name, email, role}]. Function authenticates user and verifies offer status = "accepted" before proceeding.
3
SYSTEM
Creates Signature Request via Provider API
sendForSignature calls the e-signature provider API with the document and signer details. Provider creates a signature envelope/request. Returns: envelope_id (provider-assigned), signing_url per signer (for direct access), and status = "sent". All returned identifiers stored on the Offer entity.
4
SYSTEM
Persists Signature Metadata to Offer Entity
Offer entity updated with signature request metadata: envelope_id, signing_status = "sent", signing_initiated_at timestamp, signers array with per-signer status and signing_url. Each signer record: {name, email, role, status: "pending", signing_url}.
5
E-SIGN PROVIDER
Dispatches Signing Emails to All Signers
E-signature provider sends email to each signer with unique signing link. Emails contain document preview, signer name, and "Review & Sign" CTA. Provider manages email delivery, reminders, and expiration independently from the portal.
6
SIGNER (Any Party)
Reviews & Signs Document
Each signer opens their unique signing link (from email or portal). Reviews document in e-signature provider's hosted interface. Applies legally binding electronic signature. Provider records signature timestamp, IP address, and identity verification metadata per signer.
7
SYSTEM
Portal Checks Signature Status
SignatureStatus component on OfferDetails page calls checkSignatureStatus backend function on load. Function queries the e-signature provider API with the stored envelope_id. Provider returns current per-signer status array: pending | signed | declined | expired.
8
SYSTEM
Updates Per-Signer Status on Offer Entity
checkSignatureStatus updates the signers array on the Offer entity with current status per signer. SignatureStatus UI component renders status badges: green (signed), yellow (pending), red (declined/expired) per party. Agent sees real-time signing progress without polling.
9
E-SIGN PROVIDER
All Parties Sign → Document Completed
When all required signers have signed, provider marks envelope status = "completed". Completed signed document PDF available at provider's download endpoint. Provider may also send completion notifications to all signers.
10
SYSTEM
Final Signed Document Retrieved & Stored
On next checkSignatureStatus call: provider returns status = "completed" and signed document URL. System downloads completed PDF, uploads to platform file storage via UploadFile integration. signed_document_url stored on Offer entity. signing_completed_at timestamp recorded.
§3 — Offer Entity: Signature Fields
FieldTypeDescription
envelope_idstringProvider-assigned envelope/request identifier. Used for all subsequent status checks.
signing_statusenumOverall envelope status. Derived from provider response.Values: not_sent | sent | completed | declined | expired
signing_initiated_atdatetimeServer-side timestamp when sendForSignature was called and provider request created.
signing_completed_atdatetimeTimestamp when all signers have signed and envelope status = "completed".
signed_document_urlstringURL to the completed, fully-executed document stored in platform file storage.
signersarrayArray of signer objects: {name, email, role, status, signing_url, signed_at}. Updated by checkSignatureStatus on each poll.
binding_contract_urlstringURL to the pre-signature binding contract PDF uploaded by the listing agent before signature initiation.
§4 — Per-Signer Status Values
StatusDisplayColorMeaning
pendingAwaiting SignatureYellowSigner has been sent the signing email but has not yet signed.
signedSignedGreenSigner has applied their electronic signature. Timestamp and IP recorded by provider.
declinedDeclinedRedSigner actively declined to sign. Envelope may be voided or corrected depending on workflow.
expiredExpiredGraySigning window expired before signer acted. New signature request must be initiated.
not_sentNot SentGrayInitial state before sendForSignature is called for this party.
§5 — UI Components
SignatureModal
components/SignatureModal
Modal dialog for initiating signature request. Allows agent to select signers, confirm document URL, and submit to sendForSignature function. Validates offer status = "accepted" before enabling submission.
SignatureStatus
components/SignatureStatus
Status display component on OfferDetails page. Shows per-signer signing progress with color-coded badges. Calls checkSignatureStatus on mount. Renders signed document download link when signing_status = "completed".
§6 — Backend Functions
Function
sendForSignature
Trigger
Listing agent clicks "Send for Signature" in SignatureModal
Inputs → Outputs
In: offer_id, document_url, signers: [{name, email, role}]
Out: envelope_id, per-signer signing_urls, signing_status = "sent"
Side Effects
Offer entity updated with envelope_id, signing_status, signing_initiated_at, signers array. Provider API called to create envelope.
Function
checkSignatureStatus
Trigger
SignatureStatus component mounts on OfferDetails page load
Inputs → Outputs
In: offer_id, envelope_id
Out: per-signer status array, overall envelope status, signed_document_url (if completed)
Side Effects
Offer entity signers array updated with latest status. If completed: signed_document_url stored, signing_completed_at timestamped.
§7 — Key Patentable Claims Summary
Claim 1.A computer-implemented method for managing electronic signature workflows within a real estate offer portal comprising: receiving a signature initiation request from a listing agent specifying document URL and signer array, invoking an e-signature provider API to create a signature envelope, persisting the returned envelope_id and per-signer signing_urls to the Offer entity, and providing a status-check function that queries the provider API with the stored envelope_id to retrieve and persist current per-signer signature status without requiring any signer to authenticate into the portal.
Claim 2.The method of claim 1, wherein per-signer status is persisted as a structured array on the Offer entity, each element recording name, email, role, status (pending | signed | declined | expired), signing_url, and signed_at timestamp, and wherein a SignatureStatus UI component renders real-time signing progress by calling the checkSignatureStatus backend function on page load without implementing provider webhook infrastructure.
Claim 3.The method of claim 1, wherein on detection of envelope status = "completed" by the checkSignatureStatus function, the system retrieves the fully-executed document PDF from the e-signature provider's download endpoint, uploads it to platform file storage, stores the resulting URL as signed_document_url on the Offer entity, and records signing_completed_at timestamp, creating a permanent audit-grade record of the executed contract within the portal.
Claim 4.A system for multi-party document execution tracking in real estate transactions comprising: a binding_contract_url field storing the pre-signature document, an envelope_id field linking to the provider signature session, a signers array tracking per-party execution status, a signed_document_url field storing the completed executed document, and a signing_completed_at audit timestamp, all persisted on the Offer entity to maintain a complete chain of custody from pre-signature document to fully executed contract.
Fig. 19 — E-Signature Integration & Multi-Party Document Execution Workflow. The listing agent initiates a signature request via SignatureModal, invoking sendForSignature to create a provider envelope. The envelope_id and per-signer signing_urls are persisted to the Offer entity. checkSignatureStatus polls the provider on each OfferDetails page load, updating per-signer status (pending | signed | declined | expired). On envelope completion, the executed document is retrieved, stored as signed_document_url, and signing_completed_at is recorded — establishing a full chain of custody from pre-signature binding contract to fully executed agreement.