This commit is contained in:
2025-11-05 19:46:21 -08:00
parent 2b0b81abb8
commit a123d4e93b
10 changed files with 2137 additions and 29 deletions

77
app.py
View File

@@ -41,6 +41,33 @@ if not all([FV_CLIENT_ID, FV_CLIENT_SECRET, FV_PAT, FV_ORG_ID, FV_USER_ID]):
# --- Cache ---
from cache import project_cache
PHASES = {
209436: "Nonpayment File Review",
209437: "Attorney File Review",
209438: "Notice Preparation",
209439: "Notice Pending",
209440: "Notice Expired",
209442: "Preparing and Filing UD",
209443: "Waiting for Answer",
209444: "Archived",
210761: "Service of Process",
211435: "Default",
211436: "Pre-Answer Motion",
211437: "Request for Trial",
211438: "Trial Prep and Trial",
211439: "Writ and Sheriff",
211440: "Lockout Pending",
211441: "Stipulation Preparation",
211442: "Stipulation Pending",
211443: "Stipulation Expired",
211446: "On Hold",
211466: "Request for Monetary Judgment",
211467: "Appeals and Post-Poss. Motions",
211957: "Migrated",
213691: "Close Out/ Invoicing",
213774: "Judgment After Stip & Order",
}
# --- Helpers ---
def login_required(view):
@@ -97,13 +124,31 @@ def fetch_all_projects():
defendant_one = next((c.get('orgContact', {}) for c in cs if "Defendant" in c.get('orgContact', {}).get('personTypes', [])), {})
new_file_review = fetch_form(bearer, pid, "newFileReview") or {}
dates_and_deadlines = fetch_form(bearer, pid, "datesAndDeadlines") or {}
defendants = fetch_collection(bearer, pid, "defendants") or []
service_info = fetch_collection(bearer, pid, "serviceInfo") or []
property_info = fetch_form(bearer, pid, "propertyInfo")
project_overview = fetch_form(bearer, pid, "projectOverview")
matter_overview = fetch_form(bearer, pid, "matterOverview")
completed_tasks = [x.get("body") for x in fetch_project_tasks(bearer, pid).get("items") if x.get("isCompleted")]
pending_tasks = [x.get("body") for x in fetch_project_tasks(bearer, pid).get("items") if not x.get("isCompleted")]
row = {
"client": c.get("firstName"),
"matter_description": p.get("projectName"),
"defendant_1": defendant_one.get('fullName', 'Unknown'),
"matter_open": p.get("createdDate"),
"matter_open": dates_and_deadlines.get("dateCaseFiled") or p.get("createdDate"),
"notice_type": new_file_review.get("noticeType", '') or '',
"case_number": dates_and_deadlines.get('caseNumber', '') or '',
"premises_address": property_info.get("premisesAddressWithUnit") or '',
"premises_city": property_info.get("premisisCity") or '',
"client_email": "", # TODO
"responsible_attorney": matter_overview.get("signingAttorney"),
"staff_person": project_overview.get("teamLead"), # TODO
"staff_person_2": project_overview.get("teamLead"), # TODO
"phase_name": p.get("phaseName"),
"completed_tasks": completed_tasks,
"pending_tasks": pending_tasks,
"service_attempt_date_1": next(iter(service_info), {}).get('serviceDate'),
"contacts": cs,
"ProjectEmailAddress": p.get("projectEmailAddress"),
"Number": p.get("number"),
@@ -273,6 +318,19 @@ def fetch_project_detail(bearer: str, project_id_native: int):
r.raise_for_status()
return r.json()
def fetch_project_tasks(bearer: str, project_id_native: int):
url = f"https://api.filevineapp.com/fv-app/v2/Projects/{project_id_native}/tasks"
headers = {
"Accept": "application/json",
"Authorization": f"Bearer {bearer}",
"x-fv-orgid": str(FV_ORG_ID),
"x-fv-userid": str(FV_USER_ID),
}
r = requests.get(url, headers=headers, timeout=30)
r.raise_for_status()
return r.json()
def fetch_client(bearer: str, client_id_native: int):
url = f"https://api.filevineapp.com/fv-app/v2/contacts/{client_id_native}"
headers = {
@@ -314,6 +372,23 @@ def fetch_form(bearer: str, project_id_native: int, form: str):
print(e)
return {}
def fetch_collection(bearer: str, project_id_native: int, collection: str):
try:
url = f"https://api.filevineapp.com/fv-app/v2/Projects/{project_id_native}/Collections/{collection}"
headers = {
"Accept": "application/json",
"Authorization": f"Bearer {bearer}",
"x-fv-orgid": str(FV_ORG_ID),
"x-fv-userid": str(FV_USER_ID),
}
r = requests.get(url, headers=headers, timeout=30)
r.raise_for_status()
return [x.get('dataObject') for x in r.json().get("items")]
except Exception as e:
print(e)
return {}

0
column_mapping.json Normal file
View File

File diff suppressed because one or more lines are too long

View File

@@ -3,7 +3,7 @@
"url": "https://api.filevineapp.com/fv-app/v2/Projects/15974631/Forms/newFileReview",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer eyJhbGciOiJSUzUxMiIsImtpZCI6Ijg2NjRFMkY0MDNCQjIxMzk2MzQ4NUFDOEI0MzVGMEJBOTgxNTBFN0RSUzUxMiIsInR5cCI6ImF0K2p3dCIsIng1dCI6ImhtVGk5QU83SVRsalNGckl0RFh3dXBnVkRuMCJ9.eyJuYmYiOjE3NjIzNzg1NjcsImV4cCI6MTc2MjM4MDM2NywiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eS5maWxldmluZS5jb20iLCJhdWQiOlsiZmlsZXZpbmUudjIuYXBpIiwiZnYuYXBpLmdhdGV3YXkiLCJmdi5hdXRoIl0sImNsaWVudF9pZCI6IjRGMTg3MzhDLTEwN0EtNEI4Mi1CRkFDLTMwOEYxQjZBNjI2QSIsInN1YiI6ImY3MDQ4NGZmLTQ5MjItNDliMy05MWFkLTE2YjA5Mjk5MGIzMCIsImF1dGhfdGltZSI6MTc2MjM3ODU2NywiaWRwIjoibG9jYWwiLCJwYXRfaWQiOiJoQll0K013VUJ4bm9xOTNYNVNUdnpyY0xwVFQ2M09HVHhudVcrZGFyZTVJPSIsInBhdF9uYW1lIjoiQnJ5Y2UgQ292ZXJ0IiwicGF0X3ZlcnNpb24iOiIxIiwidGVuYW50X2ZybiI6ImZybjpmaWxldmluZTp1cy1wcm9kOmZpbGV2aW5lLWFwcDo6OnRlbmFudFxcMGJlOGFhOGItZmEyOS00MjQ0LWI1YzItMDE5NzIzMWExNWY5IiwidGVuYW50X2lkIjoiMGJlOGFhOGItZmEyOS00MjQ0LWI1YzItMDE5NzIzMWExNWY5IiwianRpIjoiQTUxODc4MkMyNkZBNkVBMDNDNUFFOEJEMUZCOURDNzgiLCJpYXQiOjE3NjIzNzg1NjcsInNjb3BlIjpbImVtYWlsIiwiZmlsZXZpbmUudjIuYXBpLioiLCJmdi5hcGkuZ2F0ZXdheS5hY2Nlc3MiLCJmdi5hdXRoLnRlbmFudC5yZWFkIiwib3BlbmlkIiwidGVuYW50Il0sImFtciI6WyJwZXJzb25hbF9hY2Nlc3NfdG9rZW4iXX0.R6ma9rIVFDrazbAFh5wmie-tD80UOgeEZlFk3EyrkoQw-thY2zu4IYJzwvBbQbXigg_SJ_DOhg4HyhEV2o9rpHi9mQh0U1KXiy61lFOIGxl1mYrqN7vtg1LxTOXU_nCHoNFJ_gu0EkvOCcMVJfLd99GItT7wWXqldqegzrLueBHDUqwsYDd7jyeffPD_2PmI0lA8WXDxSB4WrOduRkAOSdSHDt4lZMybhQKxaBJ470iumtUiNwT9fdjO7hXWnAQSTBSA26cAcy3SOMlg16ZTWOkVt-7U7j0wnYN9MJlQWG3Tqqds5Ft1J8dloqQXriu_fWuq6JSMLoZ7hxoySXjvqQ",
"Authorization": "Bearer eyJhbGciOiJSUzUxMiIsImtpZCI6Ijg2NjRFMkY0MDNCQjIxMzk2MzQ4NUFDOEI0MzVGMEJBOTgxNTBFN0RSUzUxMiIsInR5cCI6ImF0K2p3dCIsIng1dCI6ImhtVGk5QU83SVRsalNGckl0RFh3dXBnVkRuMCJ9.eyJuYmYiOjE3NjIzOTk2NzAsImV4cCI6MTc2MjQwMTQ3MCwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eS5maWxldmluZS5jb20iLCJhdWQiOlsiZmlsZXZpbmUudjIuYXBpIiwiZnYuYXBpLmdhdGV3YXkiLCJmdi5hdXRoIl0sImNsaWVudF9pZCI6IjRGMTg3MzhDLTEwN0EtNEI4Mi1CRkFDLTMwOEYxQjZBNjI2QSIsInN1YiI6ImY3MDQ4NGZmLTQ5MjItNDliMy05MWFkLTE2YjA5Mjk5MGIzMCIsImF1dGhfdGltZSI6MTc2MjM5OTY3MCwiaWRwIjoibG9jYWwiLCJwYXRfaWQiOiJoQll0K013VUJ4bm9xOTNYNVNUdnpyY0xwVFQ2M09HVHhudVcrZGFyZTVJPSIsInBhdF9uYW1lIjoiQnJ5Y2UgQ292ZXJ0IiwicGF0X3ZlcnNpb24iOiIxIiwidGVuYW50X2ZybiI6ImZybjpmaWxldmluZTp1cy1wcm9kOmZpbGV2aW5lLWFwcDo6OnRlbmFudFxcMGJlOGFhOGItZmEyOS00MjQ0LWI1YzItMDE5NzIzMWExNWY5IiwidGVuYW50X2lkIjoiMGJlOGFhOGItZmEyOS00MjQ0LWI1YzItMDE5NzIzMWExNWY5IiwianRpIjoiN0UwRkMxMTBDMjM5QjAzREM4MzFGODIwRDU3RTY0NTgiLCJpYXQiOjE3NjIzOTk2NzAsInNjb3BlIjpbImVtYWlsIiwiZmlsZXZpbmUudjIuYXBpLioiLCJmdi5hcGkuZ2F0ZXdheS5hY2Nlc3MiLCJmdi5hdXRoLnRlbmFudC5yZWFkIiwib3BlbmlkIiwidGVuYW50Il0sImFtciI6WyJwZXJzb25hbF9hY2Nlc3NfdG9rZW4iXX0.BqS5GigC1BtZnMOrjduP3Oa_0UdEIPwYdO0EaYUYIVerB4tl5ryiJBxK0KOVqlE8uODpz04bIBy6JdLp3cjoVpzg7Zx3xG7zP_HOWNdVnVmKDbLgwWT0CLpqOE6H5EdZIC_lS5eKiwBCCAbBrYsD6afVsA3r1qEb5iFt_1ra3QyxrtyP-rWtTjHF3ifuyOqwImaTI7L1e1Fu1MHRyM0a9FnkQZmDpUKfopNftCz9nRv93ebjAbkipWNM9zPt-73BmSbEfpcnFWOjkIOqKzU-4GvElUlNj72_ek_QPSlr4Dx_uLsx0-3Mlp8S6wPp2me0PcqSSmm8aaHdGaoGPiyUPQ",
"x-fv-orgid": "9227",
"x-fv-userid": "100510"
},
@@ -133,7 +133,7 @@
},
"xxx": "b'{\"newFileBriefDescription\":null,\"newFileDetailedDescription\":null,\"noticeType\":\"Notice to Pay or Quit (NP)\",\"newFileNoticeToPrepNotes\":null,\"attorneyNewFileReviewNotes\":null,\"noticePrepNotesForReviewer\":null,\"noticeServiceDate\":\"2025-08-06T00:00:00Z\",\"noticeExpirationDate\":null,\"tenantCompliedWithNTCNTP\":null,\"tenantVacatedPerNotice\":null,\"nTCNTPViolationAfterNotic\":null,\"subpoenaNonStaffWitnesses\":null,\"attorneyFeesBaseFees\":null,\"attorneyFeesNTC\":null,\"actionUnder11612\":true,\"actionUnder11611\":null,\"actionUnder11613Curable\":null,\"actionUnder11613Incurabl\":null,\"actionUnder11614Subletti\":null,\"actionUnder11614Nuisance\":null,\"actionUnder11615\":null,\"actionUnder11614Crime\":null,\"actionUnder1161A\":null,\"116115CaseType\":null,\"194612CaseType\":null,\"1161ACaseType\":null,\"showMMOTerms\":null,\"mmoVacateDate\":null,\"mmoPaymentsIncluded\":null,\"mmoPaymentAmount1\":null,\"mmoPaymentDate1\":null,\"mmoRelocationPayments\":null,\"mmoWaiverOfClaims\":null,\"noticeIsRentOnly\":null,\"noticeNotes\":null,\"noticeDays\":null,\"noticeResult\":null,\"noticeDateSpecifiedToVacate\":null,\"mutualTerminationAgreementT\":null,\"secondCauseOfAction\":null,\"includeSecondCauseOfAction\":null,\"secondCauseOfActionType\":null,\"secondCauseNoticeServiceDate\":null,\"amountDemandedInNotice\":6461.00000000,\"dailyRentDamagesBegin\":\"2025-09-06T00:00:00Z\",\"commRentAcceptedAfterNotice\":null,\"noticeDaysAndAmounts\":null,\"secondCauseNoticeDaysPerform\":null,\"secondCauseNoticeDaysVacate\":null,\"secondCauseNoticeExhibitNum\":null,\"noticeDaysToPayOrPerform\":3,\"noticeDaysToVacate\":30,\"employmentTerminationDate\":null,\"causeOfAction\":null,\"mMOSignedOn\":null,\"noticeToCorrectServedPrior\":null,\"commercialRentStillOwing\":6461.00000000,\"ourServerToServeTheNotice\":null,\"attorneyNoticeServiceTaskList\":null,\"sendNTCToClientToServe\":null,\"sendNTCToClientToReview\":null,\"noticeSubmissionAndService\":null,\"billNTC\":null,\"attorneyFeesNTC_1\":null,\"billResidentialNonmonetary\":null,\"billCommercialNonmonetary\":null,\"uDBaseFeeResidentialNonmo\":null,\"uDBaseFeeCommercialNonmon\":null,\"billForMMOLetterContract\":null,\"attorneyFeesLetterMMOCo\":null,\"bILLING\":null,\"billForNoticePrepOnly\":null,\"attorneyFeesNoticeOnly\":null,\"billForNPReviewAndPrepOnly\":null,\"attorneyFeesNonpaymentRevi\":null,\"billForTenantBuyOutAgreementOnly\":null,\"attorneyFeesTenantBuyOut\":null,\"billForServiceOfNotice\":null,\"costsServiceOfNotice\":null,\"isThisACaseTakeover\":null,\"caseTakeoverAdditionalFee\":null,\"typeOfTenancy\":null,\"emailProcessServerRequestingPhotoOfPosting\":null,\"operativeNotice\":{\"id\":492890225,\"orgID\":9227,\"projectID\":15974631,\"filename\":\"S. Whelan Proof of Service.pdf\",\"uploadDate\":\"2025-11-04T20:41:38.54Z\",\"templateID\":null,\"templateName\":null,\"reportFusionID\":null,\"reportFusionName\":null,\"contractID\":null,\"canEditInPlace\":true,\"lockedByUserID\":null,\"lockedTime\":null,\"lockExpirationTime\":null,\"lockedByUserFullName\":null,\"isPending\":false,\"isProtected\":false,\"isProtectedPlaceholder\":false,\"contract\":null,\"antivirusScanResult\":[],\"docKey\":\"26a2320e/Ocr-c6614e8966514338ab80ebb9f9c28912.Pdf\"},\"areThereNotesForTheReview\":null,\"noticePrepperNotes\":null,\"sendNTPToCLIENTTOSERVE\":null,\"sendNTPToClientToReview\":null,\"sendNTQToCLIENTTOSERVE\":null,\"sendNTQToClientToReview\":null,\"sendNTVToCLIENTTOSERVE\":null,\"sendNTVToClientToReview\":null,\"sendNTTToCLIENTTOSERVE\":null,\"sendNTTToClientToReview\":null,\"sendMMOToCLIENTTOSIGN\":null}'",
"headers": {
"Date": "Wed, 05 Nov 2025 21:36:08 GMT",
"Date": "Thu, 06 Nov 2025 03:27:50 GMT",
"Content-Type": "application/json; charset=utf-8",
"Transfer-Encoding": "chunked",
"Connection": "keep-alive",
@@ -145,17 +145,17 @@
"ratelimit-limit": "10;r=3300;w=60;c=Customer Temp",
"ratelimit-remaining": "9;r=3300;w=60;c=Customer Temp",
"content-security-policy": "default-src 'self';child-src https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://app.vinesign.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com *.amazonaws.com https://app.pendo.io https://feedback.us.pendo.io docs.google.com https://feedback.filevine.com *.newrelic.com *.filev.io *.flvn.io filev.io flvn.io 'self';connect-src *.filevinedev.com *.filevineapp.com *.filevine.ca *.filevine.com *.filevinegov.com *.fvauth.com https://app.vinesign.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com *.amazonaws.com *.nr-data.net *.pendo.io *.pdftron.com *.typeform.com *.newrelic.com https://app.pendo.io https://data.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://localhost:8080 *.filev.io *.flvn.io filev.io flvn.io 'self' blob: wss:;font-src *.bootstrapcdn.com fonts.gstatic.com *.typekit.net *.typeform.com 'self' data: blob:;frame-src *;frame-ancestors https://*.filevineapp.com https://app.pendo.io 'self';img-src *.typekit.net *.typeform.com https://app.pendo.io https://cdn.pendo.io https://data.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-images.s3.us-west-2.amazonaws.com https://fv-globalproducts-prod-us-logos.s3.us-west-2.amazonaws.com https://us.fv-globalproducts-logos.prod.filevine.com https://fv-prod-us-shard-h-fv-internal-image.s3.amazonaws.com https://fv-prod-us-shard-h-fv-internal-image.s3.us-west-2.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com *.filev.io *.flvn.io filev.io flvn.io *.kaywa.com www.googletagmanager.com 'self' data: blob: cid:;manifest-src 'self';media-src https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-images.s3.us-west-2.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com https://us-shard-h-discussions.filevineapp.com *.filev.io *.flvn.io filev.io flvn.io 'self';object-src https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-images.s3.us-west-2.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com *.filev.io *.flvn.io filev.io flvn.io 'self';script-src *.bootstrapcdn.com *.typekit.net *.typeform.com *.newrelic.com *.nr-data.net https://app.pendo.io https://cdn.pendo.io https://data.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://duuxdetkhlwyv.cloudfront.net https://code.jquery.com https://localhost:8080 https://www.googletagmanager.com 'unsafe-inline' 'unsafe-eval' 'self' blob:;style-src *.bootstrapcdn.com fonts.googleapis.com *.typekit.net *.typeform.com https://app.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://duuxdetkhlwyv.cloudfront.net https://cdn.pendo.io https://data.pendo.io 'unsafe-inline' 'self';worker-src 'self' blob: 'unsafe-inline'",
"x-filevine-api-version": "3.3478.1.0",
"x-fv-correlation-id": "7b812c03fc7d43268db5f92417c09684",
"x-filevine-api-version": "3.3487.15.0",
"x-fv-correlation-id": "734e7dcd1fb947e18b7e2872ae07b0bd",
"x-aspnet-version": "4.0.30319",
"x-powered-by": "ASP.NET",
"x-content-type-options": "nosniff",
"x-frame-option": "SAMEORIGIN",
"x-xss-protection": "1; mode=block",
"x-fv-gateway-correlation-id": "7b812c03fc7d43268db5f92417c09684",
"x-fv-gateway-correlation-id": "734e7dcd1fb947e18b7e2872ae07b0bd",
"cf-cache-status": "DYNAMIC",
"Content-Encoding": "gzip",
"CF-RAY": "999f7c21dd504f73-SEA",
"CF-RAY": "99a17f540b887582-SEA",
"alt-svc": "h3=\":443\"; ma=86400"
}
}

View File

@@ -0,0 +1,910 @@
"sectionSelector": "complaintInfo",
"fieldSelector": "complaintVerificationBy",
"fieldSelector": "complaintVerificationContact",
"fieldSelector": "totalDamagesSought",
"fieldSelector": "amendedComplaintRequired",
"fieldSelector": "reasonForAmendment",
"fieldSelector": "documentsAmended",
"fieldSelector": "amendmentNumber",
"fieldSelector": "cMPPreppedAndApprovedBy",
"fieldSelector": "noticeExhibit",
"fieldSelector": "prepareSummonsDoc",
"fieldSelector": "noticeType",
"fieldSelector": "prepareComplaintDoc",
"fieldSelector": "premisesCounty",
"fieldSelector": "prepareCivilCaseCoverSheet",
"fieldSelector": "prepareUD101",
"fieldSelector": "prepareUD120",
"fieldSelector": "civilJurisdiction",
"fieldSelector": "prepareNonStip",
"fieldSelector": "complaintSubmittedToCourtEmail",
"fieldSelector": "complaintSubmittedToCourtSanJoaquin Email",
"fieldSelector": "bILLING",
"fieldSelector": "AddFeeForResidentialNonpayment",
"fieldSelector": "typeOfTenancy",
"fieldSelector": "uDBaseFeeResidentialNonpa",
"fieldSelector": "AddFeeForCommercialNonpayment",
"fieldSelector": "uDBaseFeeCommercialNonpay",
"fieldSelector": "billForCourtFilingFee",
"fieldSelector": "costsInitialCaseFilingFee",
"fieldSelector": "billForServiceOfSummons",
"fieldSelector": "costsServiceOfSummons",
"fieldSelector": "billForUnlimitedEFiling",
"fieldSelector": "costsUnlimitedEFiling",
"fieldSelector": "pIACostsInfoOnlyNotCalc",
"fieldSelector": "billBaseFeeForCase",
"fieldSelector": "useAdditionalPlaintiffsAttach",
"fieldSelector": "useAdditionalDefendantsAttachment",
"fieldSelector": "filedCaseReceivedFromCourt",
"fieldSelector": "checkComplaintTaskList",
"fieldSelector": "prepareAdditionalDefendantsSumAttach",
"fieldSelector": "prepareAdditionalPlaintiffsSumAttach",
"fieldSelector": "selectCountiesThatRequireUD101UD120",
"fieldSelector": "selectCountiesThatRequireAddlFormWCmp",
"fieldSelector": "prepareNonStipToCommissioner",
"sectionSelector": "datesAndDeadlines",
"fieldSelector": "complaintInfo",
"fieldSelector": "dateCaseFiled",
"fieldSelector": "caseNumber",
"fieldSelector": "amendedComplaintRequired",
"fieldSelector": "dateAmendmentFiled",
"fieldSelector": "serviceAndDefault",
"fieldSelector": "defaultDate",
"fieldSelector": "preAnswerMotions",
"fieldSelector": "motionToQuashFiled",
"fieldSelector": "motionToStrikeFiled",
"fieldSelector": "demurrerFiled",
"fieldSelector": "dateAnswerFiled",
"fieldSelector": "allPartiesAtIssueOrInDefault",
"fieldSelector": "MTQResponseDue",
"fieldSelector": "mTQTaskList",
"fieldSelector": "answerDueDate",
"fieldSelector": "answer",
"fieldSelector": "showPreAnswerMotions",
"fieldSelector": "allPartiesServedAndLogged",
"fieldSelector": "PMONeeded",
"fieldSelector": "pMOPrepTaskList",
"fieldSelector": "MTSTaskList",
"fieldSelector": "MTSOppositionDue",
"fieldSelector": "requestToSetFiled",
"fieldSelector": "trialAndTrialPrep",
"fieldSelector": "didTheCourtSetAnMSC",
"fieldSelector": "trialTime",
"fieldSelector": "trialDeptDivRoom",
"fieldSelector": "trialAddress",
"fieldSelector": "mSCTime",
"fieldSelector": "mSCDeptDiv",
"fieldSelector": "mSCAddress",
"fieldSelector": "trialType",
"fieldSelector": "finalResultOfTrialMSCCa",
"fieldSelector": "stipulation",
"fieldSelector": "judgmentAndWrit",
"fieldSelector": "dismissal",
"fieldSelector": "showMotionsSection",
"fieldSelector": "PostTrialMotionsHeader",
"fieldSelector": "motionToSetAside",
"fieldSelector": "claimOfRightToPossession",
"fieldSelector": "otherMotion1",
"fieldSelector": "otherMotion2",
"fieldSelector": "demurrerTaskList",
"fieldSelector": "demurrerOppositionDue",
"fieldSelector": "mTSATaskList",
"fieldSelector": "mTSAOppositionDue",
"fieldSelector": "cOPTaskList",
"fieldSelector": "cOPOrderDue",
"fieldSelector": "typeOfMotion1",
"fieldSelector": "motion1TaskList",
"fieldSelector": "motion1OppositionDue",
"fieldSelector": "typeOfMotion2",
"fieldSelector": "motion2TaskList",
"fieldSelector": "motion2OppositionDue",
"fieldSelector": "dateOfStipulation",
"fieldSelector": "finalObligationUnderTheStip",
"fieldSelector": "defendantsComplyWithStip",
"fieldSelector": "didTheCourtSetAnOSC",
"fieldSelector": "oSCHearingTime",
"fieldSelector": "oSCHearingLocation",
"fieldSelector": "oSCHearingDeptDiv",
"fieldSelector": "stipTaskList",
"fieldSelector": "finalResultOfCase",
"fieldSelector": "dateOfJudgment",
"fieldSelector": "writIssuedDate",
"fieldSelector": "sheriffScheduledDate",
"fieldSelector": "opposeStays",
"fieldSelector": "basisOfOppositionToStay",
"fieldSelector": "sheriffFileNumber",
"fieldSelector": "datePossessionRecovered",
"fieldSelector": "showDismissalSection",
"fieldSelector": "dateDismissalFiled",
"fieldSelector": "dismissalTaskList",
"fieldSelector": "dismissalType",
"fieldSelector": "dismissalNotes",
"fieldSelector": "answerReceived",
"fieldSelector": "JDGAfterStipTaskList",
"fieldSelector": "mTQHearingDate",
"fieldSelector": "mTQHearingTime",
"fieldSelector": "mTQHearingDeptDiv",
"fieldSelector": "mTQHearingAddress",
"fieldSelector": "mTSHearingDate",
"fieldSelector": "mTSHearingTime",
"fieldSelector": "demurrerHearingDate",
"fieldSelector": "demurrerHearingTime",
"fieldSelector": "demurrerHearingDeptDiv",
"fieldSelector": "demurrerHearingAddress",
"fieldSelector": "trialDate",
"fieldSelector": "mSCDate",
"fieldSelector": "mTSAHearingDate",
"fieldSelector": "mTSAHearingTime",
"fieldSelector": "mTSAHearingDeptDiv",
"fieldSelector": "mTSAHearingAddress",
"fieldSelector": "cOPHearingDate",
"fieldSelector": "cOPHearingTime",
"fieldSelector": "cOPHearingDepDiv",
"fieldSelector": "cOPHearingAddress",
"fieldSelector": "mTSHearingDeptDiv",
"fieldSelector": "mTSHearingAddress",
"fieldSelector": "otherMotion1HearingDate",
"fieldSelector": "otherMotion1HearingTime",
"fieldSelector": "otherMotion1HearingDeptD",
"fieldSelector": "otherMotion1HearingAddress",
"fieldSelector": "otherMotion2HearingDate",
"fieldSelector": "otherMotion2HearingTime",
"fieldSelector": "otherMotion2HearingDeptD",
"fieldSelector": "otherMotion2HearingAddress",
"fieldSelector": "exParteAppForJDGHearingDate",
"fieldSelector": "exParteAppForJDGHearingTime",
"fieldSelector": "exParteAppForJDGHearingDeptDiv",
"fieldSelector": "exParteAppForJDGHearingAddress",
"fieldSelector": "oSCHearingDate",
"fieldSelector": "otherCaseStays",
"fieldSelector": "hasAnRARBeenRequested",
"fieldSelector": "rARTaskList",
"fieldSelector": "hasBankruptcyBeenFiled",
"fieldSelector": "bKTaskList",
"fieldSelector": "discovery",
"fieldSelector": "discoveryHasBeenServedOnP",
"fieldSelector": "discoveryTaskList",
"fieldSelector": "discoveryDueDate",
"fieldSelector": "discoveryMotionServedOnPla",
"fieldSelector": "discoveryMotionTaskList",
"fieldSelector": "discoveryMotionHearingDate",
"fieldSelector": "discoveryMotionOppositionDue",
"fieldSelector": "discoveryMotionHearingTime",
"fieldSelector": "discoveryMotionHearingDeptDiv",
"fieldSelector": "discoveryMotionHearingAddress",
"fieldSelector": "prepareDismissalOfDoes",
"fieldSelector": "prepareRequestForEntryOfDefault",
"fieldSelector": "prepareDefaultJudgment",
"fieldSelector": "prepareSheriffInstructions",
"fieldSelector": "prepareWrit",
"fieldSelector": "prepareSheriffAttachment",
"fieldSelector": "finalResultOfTrialMSCCa_1",
"fieldSelector": "prepareRequestToSerForTrial",
"fieldSelector": "moreThan6DefendantsAtIssue",
"fieldSelector": "prepareMC025",
"fieldSelector": "prepareServiceRecord",
"fieldSelector": "complaintFilingHasBeenAccepted",
"fieldSelector": "workingOnService",
"fieldSelector": "pMONeededEmail",
"fieldSelector": "pMOGranted",
"fieldSelector": "default",
"fieldSelector": "allDefendantsServedEmail",
"fieldSelector": "defaultSubmittedEmail",
"fieldSelector": "mTQFiledEmail",
"fieldSelector": "mTSFiledEmail",
"fieldSelector": "demurrerFiledEmail",
"fieldSelector": "caseAtIssueEmail",
"fieldSelector": "caseAtIssueWAnswerEmai",
"fieldSelector": "requestToSetFiledEmail",
"fieldSelector": "mSC",
"fieldSelector": "trialDateReceivedNoMSCEmail",
"fieldSelector": "trialDateReceivedWithMSCEmail",
"fieldSelector": "continuedTrialDateEmail",
"fieldSelector": "continuedTrialAndMSCDateEmail",
"fieldSelector": "stipulationEnteredEmail",
"fieldSelector": "judgmentEnteredAtTrialEmai",
"fieldSelector": "stipulatedJudgmentEnteredEmail",
"fieldSelector": "judgmentEnteredEmail",
"fieldSelector": "writIssuedEmail",
"fieldSelector": "sheriffReceivedWritEmail",
"fieldSelector": "lockoutScheduledEmail",
"fieldSelector": "discoveryBilling",
"fieldSelector": "billForDiscoveryUpTo3Items",
"fieldSelector": "billForDiscoveryDeposition",
"fieldSelector": "attorneyFeesDiscovery",
"fieldSelector": "mSCBilling",
"fieldSelector": "billForMSC",
"fieldSelector": "attorneyFeesMandatorySettl",
"fieldSelector": "billForCOP",
"fieldSelector": "attorneyFeesClaimOfRight",
"fieldSelector": "writAndSheriffBilling",
"fieldSelector": "billForWritIssuance",
"fieldSelector": "costsWritIssuance",
"fieldSelector": "billForSheriff",
"fieldSelector": "costsSheriffSFee",
"fieldSelector": "showMSJSection",
"fieldSelector": "mSJ",
"fieldSelector": "mSJTaskList",
"fieldSelector": "mSJDue",
"fieldSelector": "mSJHearingDate",
"fieldSelector": "mSJHearingTime",
"fieldSelector": "mSJHearingDeptDiv",
"fieldSelector": "mSJHearingAddress",
"fieldSelector": "billForMSJFilingCost",
"fieldSelector": "costsMSJFilingFee",
"fieldSelector": "billForExParteFeeAppForJudgment",
"fieldSelector": "costsExParteAppFee1",
"fieldSelector": "oSCComplianceFollowUpEmail",
"fieldSelector": "caseDismissedEmail",
"fieldSelector": "billForServiceOfSummonsT",
"fieldSelector": "costsServiceOfSummons",
"fieldSelector": "emailProcessServerRequestingPhoto",
"fieldSelector": "processServerAssigned",
"fieldSelector": "premisesCounty",
"fieldSelector": "emailComplaintToSanJoseRentBoard",
"fieldSelector": "projectJustCauseCity",
"fieldSelector": "emailComplaintToBerkeleyRentBoard",
"fieldSelector": "emailComplaintToEPARentBoard",
"fieldSelector": "emailComplaintToMVRentBoard",
"fieldSelector": "afterTrialTaskList",
"fieldSelector": "requestForBirthdatesEmailMonterey",
"fieldSelector": "requestForBirthdatesEmailSacramento",
"fieldSelector": "birthdatesEnteredSac",
"fieldSelector": "birthdatesEnteredMonterey",
"fieldSelector": "lockoutDate",
"fieldSelector": "writOfMandateFiled",
"fieldSelector": "appealFiled",
"fieldSelector": "petitionForWritOfMandate",
"fieldSelector": "appeals",
"fieldSelector": "petitionForWritOfMandateChecklist",
"fieldSelector": "appealFiledChecklist",
"fieldSelector": "stays",
"fieldSelector": "receivedNoticeOfRequestForStay",
"fieldSelector": "hearingDateOnRequestForStay",
"fieldSelector": "addressForStayRequest",
"fieldSelector": "timeForStayRequest",
"fieldSelector": "deptForStayRequest",
"fieldSelector": "emailClientAboutRequestForStay",
"fieldSelector": "stayGranted",
"fieldSelector": "stayGrantedThroughDate",
"fieldSelector": "totalStayFundsPaidToCourt",
"fieldSelector": "stayGrantedEmail",
"fieldSelector": "followUpOnStipulationComp",
"fieldSelector": "secondFollowUpOnStipulation",
"fieldSelector": "prepareStayFundsReturnLetter",
"fieldSelector": "stayFundsReturningInCheck",
"fieldSelector": "stayFundsReturnCheckNumber",
"fieldSelector": "prepareNoticeOfEntryOfJudg",
"fieldSelector": "sendCancellationEmailToSheriff",
"fieldSelector": "emailClientAboutBKFIling",
"fieldSelector": "isThisAContinuedCourtDate",
"fieldSelector": "mTQResult",
"fieldSelector": "mTQDeniedResultEmail",
"fieldSelector": "mTQDeniedServedResultEmail",
"fieldSelector": "mTQGrantedResultEmail",
"fieldSelector": "nOEOrderOnMTQ",
"fieldSelector": "prepareMTQFileCover",
"fieldSelector": "prepareMTSFileCover",
"fieldSelector": "mTSResult",
"fieldSelector": "mTSDeniedResultEmail",
"fieldSelector": "mTSGrantedResultEmail",
"fieldSelector": "nOEOrderOnMTS",
"fieldSelector": "prepareDemurrerFileCover",
"fieldSelector": "demurrerResult",
"fieldSelector": "demurrerOverruledResultEmai",
"fieldSelector": "demurrerGrantedWithLeaveEmail",
"fieldSelector": "demurrerGrantedWithoutLeaveEmail",
"fieldSelector": "nOEOrderOnDemurrer",
"fieldSelector": "prepareMSJFileCover",
"fieldSelector": "mSJResult",
"fieldSelector": "mSJGrantedResultEmail",
"fieldSelector": "mSJDeniedResultEmail",
"fieldSelector": "mTSAFiledEmail",
"fieldSelector": "prepareMTSAFileCover",
"fieldSelector": "mTSAResult",
"fieldSelector": "mTSADeniedResultEmail",
"fieldSelector": "mTSAGrantedNewTrialResult",
"fieldSelector": "mTSAGrantedAnswerDeemedTrialSet",
"fieldSelector": "mTSAGrantedAnswerDeemedRequestTrial",
"fieldSelector": "mTSAGrantedAnswerDueResult",
"fieldSelector": "stayDeniedEmail",
"fieldSelector": "cOPResult",
"fieldSelector": "cOPDeniedResultEmail",
"fieldSelector": "cOPGrantedResultEmail",
"fieldSelector": "prepareCOPFIleCover",
"fieldSelector": "resultOfExParteAppForJudgment",
"fieldSelector": "appForJudgmentEnteredResult",
"fieldSelector": "appForJudgmentContinuedResult",
"fieldSelector": "appForJudgmentDeniedResult",
"fieldSelector": "prepareAppForJudgmentFileCover",
"fieldSelector": "2ndServerForPMO",
"fieldSelector": "3rdServerForPMO",
"fieldSelector": "PMOSigner",
"fieldSelector": "pMOSignedType",
"fieldSelector": "applicationForPMO",
"fieldSelector": "declarationISOPMO",
"fieldSelector": "orderOnPMO",
"fieldSelector": "pMO",
"fieldSelector": "selectCountyThatRequiresRelease",
"fieldSelector": "prepareSheriffSReleaseOfLiability",
"fieldSelector": "prepareSFSheriffAttachment",
"fieldSelector": "selectCountyRequiringDeclDailyRentOrLostOs",
"fieldSelector": "prepareDeclOfDailyRentalVale",
"fieldSelector": "prepareElectronicWritDecl",
"fieldSelector": "prepareDeclarationOfLostOriginals",
"fieldSelector": "sheriffCancelHoldPostpone",
"fieldSelector": "postponeSheriffToo",
"fieldSelector": "prepareSheriffCancelLetter",
"fieldSelector": "preJudgmentClaimOfPossessionFiled",
"fieldSelector": "nameOfPreJudgmentClaimants",
"fieldSelector": "prepareAppToStrikePreJudgmentClaim",
"fieldSelector": "prepareOderOnPreJudgmentClaim",
"fieldSelector": "preJudgmentClaimTaskList",
"fieldSelector": "preJudgmentClaimOfPossessi",
"fieldSelector": "resultOfPreJudgmentClaim",
"fieldSelector": "claimantS",
"fieldSelector": "cOPFiledEmail",
"fieldSelector": "prepareOrderDenyingClaim",
"fieldSelector": "prepareStipToOrderDenying",
"fieldSelector": "selectCountyFromChallengeList",
"fieldSelector": "preparePreemptoryChallenge",
"fieldSelector": "prepareChallengeOrder",
"fieldSelector": "prepareOtherDocument2",
"fieldSelector": "countiesToRequestRemoteAppearance",
"fieldSelector": "prepareNoticeOfRemoteAppearance",
"fieldSelector": "prepareOrderOnRemoteAppearance",
"fieldSelector": "prepareNoticeOfNewTrial",
"fieldSelector": "sMCZoomTrialReminderEmail",
"fieldSelector": "rARReceivedEmail",
"fieldSelector": "selectCountiesTheRequireCa",
"fieldSelector": "sendCaseAccessEmail",
"fieldSelector": "prepareCoCoSheriffAttachment1to5",
"fieldSelector": "selectCountyThatRequiresAdditionalPMOForm",
"fieldSelector": "prepareProposedOrderCoverSheet",
"fieldSelector": "lockoutSafetyIssuesOrSpecialCareIssues",
"fieldSelector": "haveAnyFeesBeenWaived",
"fieldSelector": "whoSFeesWereWaived",
"fieldSelector": "prepareDismissalOfDoesAfterAnswer",
"fieldSelector": "didTheCourtSetAnInitialOSC",
"fieldSelector": "earlyOSCTaskList",
"fieldSelector": "oSCResponseDuePOSAnyFiling",
"fieldSelector": "initialOSCHearingDate",
"fieldSelector": "initialOSCHearingTime",
"fieldSelector": "initialOSCHearingDeptDiv",
"fieldSelector": "initialOSCHearingAddress",
"fieldSelector": "howManyDefendantsOnWrit",
"fieldSelector": "prepareContraCostaCountySheriffAttach6to11",
"fieldSelector": "selectAppropriateContraCostaSheriffAttachment",
"fieldSelector": "prepareONEAdditionalDefSERAttach",
"fieldSelector": "prepareTWOAdditionalDefSERAttach",
"fieldSelector": "prepareTHREEAdditionalDefen",
"fieldSelector": "prepareFOURAdditionalDefSERAttach",
"fieldSelector": "prepareSIXAdditionalDefSERAttach",
"fieldSelector": "prepareSEVENAdditionalDefSERAttach",
"fieldSelector": "prepareEIGHTAdditionalDefSERAttach",
"fieldSelector": "prepareNINEAdditionalDefSERAttach",
"fieldSelector": "prepareTENAdditionalDefSERAttach",
"fieldSelector": "prepareFIVEAdditionalSERAttach",
"fieldSelector": "selectCountySpecificLockoutInfoEmail",
"sectionSelector": "defendants",
"fieldSelector": "defendantContact",
"fieldSelector": "defendantStatus",
"fieldSelector": "defendantServiceType",
"fieldSelector": "defendantDateOfService",
"fieldSelector": "defendantTimeOfService",
"fieldSelector": "defendantServedByWhom",
"fieldSelector": "attorneyForDef",
"fieldSelector": "serviceInfo",
"fieldSelector": "serviceDateOfMailing",
"fieldSelector": "servicePersonSubServed",
"fieldSelector": "serviceAddress",
"fieldSelector": "alternateAddressForService",
"fieldSelector": "alternateAddressDescription",
"fieldSelector": "defendantActiveDuty",
"fieldSelector": "militaryActiveDutySpecifics",
"fieldSelector": "defendantEntityType",
"fieldSelector": "personServedOnBehalfOfEntity",
"fieldSelector": "defendantsAgentForService",
"fieldSelector": "preparePOS",
"fieldSelector": "basisForNonActiveDuty",
"fieldSelector": "preparePOSWDeclOfDiligence",
"fieldSelector": "multipleServerDeclarationNeeded",
"fieldSelector": "preparePOSWDeclOfDilandMultipleServers",
"fieldSelector": "DefdateOfBirth",
"sectionSelector": "feesAndCosts",
"fieldSelector": "FeesNTC",
"fieldSelector": "FeesMSC",
"fieldSelector": "FeesDiscovery",
"fieldSelector": "attorneyFeesOther1Type",
"fieldSelector": "attorneyFeesOther1Amount",
"fieldSelector": "attorneyFeesOther2Type",
"fieldSelector": "attorneyFeesOther2Amount",
"fieldSelector": "attorneyFeesOther3Type",
"fieldSelector": "attorneyFeesOther3Amount",
"fieldSelector": "costsServiceOfNotice",
"fieldSelector": "costsFilingFee",
"fieldSelector": "costsEFiling",
"fieldSelector": "costsProcessServerFee",
"fieldSelector": "costsOther1Type",
"fieldSelector": "costsOther1Amount",
"fieldSelector": "costsOther2Type",
"fieldSelector": "costsOther2Amount",
"fieldSelector": "costsOther3Type",
"fieldSelector": "costsOther3Amount",
"fieldSelector": "baseFeeIncome",
"fieldSelector": "residentialNonpaymentOfRent",
"fieldSelector": "residentialNonmonetary",
"fieldSelector": "commercialNonpaymentOfRent",
"fieldSelector": "commercialNonmonetary",
"fieldSelector": "totalBaseFeeIncome",
"fieldSelector": "addOnLitigationFees",
"fieldSelector": "noticeType",
"fieldSelector": "attorneyFeesNoticeOnly",
"fieldSelector": "attorneyFeesNonpaymentReviewPrep",
"fieldSelector": "attorneyFeesLetterMMO",
"fieldSelector": "attorneyFeesTenantBuyOut",
"fieldSelector": "totalPreFilingFees",
"fieldSelector": "litigationAddOns",
"fieldSelector": "attorneyFeesCOP",
"fieldSelector": "totalLitigationAddOns",
"fieldSelector": "juryTrialFees",
"fieldSelector": "attorneyFeesJuryTrialPrep",
"fieldSelector": "attorneyFeesJuryTrialInitial",
"fieldSelector": "attorneyFeesJuryTrialFinal",
"fieldSelector": "totalJuryTrialFees",
"fieldSelector": "attorneyFeesTotal",
"fieldSelector": "totalAttorneysFees",
"fieldSelector": "costs",
"fieldSelector": "serviceCosts",
"fieldSelector": "attorneySFees",
"fieldSelector": "costsOtherServiceCosts",
"fieldSelector": "otherServiceCostsDesc",
"fieldSelector": "totalServiceCosts",
"fieldSelector": "recoverableServiceCosts",
"fieldSelector": "filingFeesAndCosts",
"fieldSelector": "costsWritIssuance",
"fieldSelector": "costsSheriffsFee",
"fieldSelector": "totalHardCosts",
"fieldSelector": "totalSoftCosts",
"fieldSelector": "totalCourtCosts",
"fieldSelector": "totalCostsHeader",
"fieldSelector": "totalCosts",
"fieldSelector": "totalFeesAndCostsOfCase",
"fieldSelector": "totalFeesAndCosts",
"fieldSelector": "totalFeesAndCostsOfCase_1",
"fieldSelector": "costsMSJFilingFee",
"fieldSelector": "costsExParteAppFee1",
"fieldSelector": "costsExParteAppFee2",
"fieldSelector": "pIABaseFeePerFA",
"fieldSelector": "pIACosts",
"fieldSelector": "totalAttorneySFees_2",
"fieldSelector": "totalCosts_1",
"fieldSelector": "totalRecoverableCosts",
"fieldSelector": "billAttorneyFeesOther1",
"fieldSelector": "billAttorneyFeesOther2",
"fieldSelector": "billAttorneyFeesOther3",
"fieldSelector": "billJuryTrialPrep",
"fieldSelector": "billJuryTrialInitialPayment",
"fieldSelector": "billForJuryTrialFinalPayment",
"fieldSelector": "billForOtherServiceCosts",
"fieldSelector": "billOtherExParteFee",
"fieldSelector": "billForOtherCost1",
"fieldSelector": "billForOtherCost2",
"fieldSelector": "billForOtherCost3",
"fieldSelector": "typeOfTenancy",
"fieldSelector": "premisesCounty",
"fieldSelector": "premisesCity",
"fieldSelector": "projectJustCauseCity",
"fieldSelector": "section8Tenancy",
"fieldSelector": "projectTaxCreditUnit",
"fieldSelector": "projectUnitCityBelowMarket",
"fieldSelector": "formOfLease",
"fieldSelector": "amountDemandedInNotice",
"fieldSelector": "adjustedOrCurrentRent",
"fieldSelector": "19461And2CaseType",
"fieldSelector": "caseTakeoverAdditionalFee",
"sectionSelector": "fileAndServe",
"fieldSelector": "orderType",
"fieldSelector": "filingType",
"fieldSelector": "clientDocuments",
"fieldSelector": "documents",
"fieldSelector": "documentType",
"fieldSelector": "otherDocumentTypes",
"fieldSelector": "processServing",
"fieldSelector": "defendant",
"fieldSelector": "agentForService",
"fieldSelector": "methodOfService",
"fieldSelector": "servicePriority",
"fieldSelector": "additionalServiceInstruction",
"fieldSelector": "sendToLegalex",
"fieldSelector": "statusUpdate",
"fieldSelector": "acknowledgmentMessage",
"fieldSelector": "eFlingURL",
"fieldSelector": "filingStatus",
"fieldSelector": "filedDocuments",
"fieldSelector": "serviceDate",
"fieldSelector": "serviceStatus",
"fieldSelector": "legalexServiceStatusNotes",
"fieldSelector": "proofOfService",
"fieldSelector": "invoiceNumber",
"fieldSelector": "invoiceAmount",
"fieldSelector": "invoice",
"sectionSelector": "intake",
"fieldSelector": "caseType",
"fieldSelector": "haveWeSetUpThisRentalPro",
"fieldSelector": "nameOfTheRentalProperty",
"fieldSelector": "leaseOrRentalAgreement",
"fieldSelector": "noticeToPayRentOrQuit",
"fieldSelector": "proofOfServiceOfTheNotice",
"fieldSelector": "ledgerItSOkayIfYouDoNo",
"fieldSelector": "pleaseConfirmTheFollowingA",
"fieldSelector": "pleaseConfirmThatYouAreRe",
"fieldSelector": "pleaseConfirmTheAmountsIn",
"fieldSelector": "ifYouHaveAcceptedAnyRent",
"fieldSelector": "primaryTenantsLastName",
"fieldSelector": "briefDescriptionOfThePrima",
"fieldSelector": "detailedDescriptionOfTheIs",
"fieldSelector": "iSYourGoalToTerminate",
"fieldSelector": "isThisATenancyOfLessThan",
"fieldSelector": "doesTheTenantHaveASection",
"fieldSelector": "isTheTenantCurrentlyInAL",
"fieldSelector": "whatIsTheCurrentMonthlyRe",
"fieldSelector": "anyPreviousNoticesToPerfor",
"fieldSelector": "allRelevantWitnessStatement",
"sectionSelector": "leaseInfoNP",
"fieldSelector": "leaseDate",
"fieldSelector": "leaseDoc",
"fieldSelector": "tenantsInitialMoveInDate",
"fieldSelector": "leaseTermExpiration",
"fieldSelector": "leaseTransferDate",
"fieldSelector": "leaseTransferInitialAddre",
"fieldSelector": "attorneyFeeInLease",
"fieldSelector": "attorneyFeeNotToExceed",
"fieldSelector": "formOfLease",
"fieldSelector": "leaseFormAndTerms",
"fieldSelector": "section8Tenancy",
"fieldSelector": "section8TenantSPortionOfRent",
"fieldSelector": "initialLeaseTerm",
"fieldSelector": "attorneyFeeSection",
"fieldSelector": "feeLimitIncludesCosts",
"fieldSelector": "rentInfo",
"fieldSelector": "initialRent",
"fieldSelector": "adjustedOrCurrentRent",
"fieldSelector": "monthlyRentDueDate",
"fieldSelector": "dailyRentDamages",
"fieldSelector": "noticeType_1",
"fieldSelector": "rentAccrualPeriods",
"fieldSelector": "dailyRentDamagesBegin_1",
"fieldSelector": "leaseDocAttached",
"fieldSelector": "isRentDueMonthly",
"fieldSelector": "typeOfTenancy",
"fieldSelector": "rentHasBeenAdjusted",
"fieldSelector": "attorneyFeesTotal",
"fieldSelector": "ActualFeesExceedFeeLimit",
"sectionSelector": "matterOverview",
"fieldSelector": "quickDescription",
"fieldSelector": "defendantsCaption",
"fieldSelector": "defendantNameForCaseTitle",
"fieldSelector": "multipleDefendants",
"fieldSelector": "fileVine8DigitIDInURL",
"fieldSelector": "matterNumber",
"fieldSelector": "shortCaseTitle",
"fieldSelector": "defendantS",
"fieldSelector": "defendantPossessive",
"fieldSelector": "defendantIsAre",
"fieldSelector": "defendantWasWere",
"fieldSelector": "defendantSRemainS",
"fieldSelector": "hasHave",
"fieldSelector": "DefendantObejctSingularorPlural",
"fieldSelector": "DefendantYorIES",
"fieldSelector": "signingAttorney",
"fieldSelector": "defendantsDoDoes",
"fieldSelector": "updateMatterOverviewInfo",
"fieldSelector": "documentShareFolderURL",
"sectionSelector": "newFileReview",
"fieldSelector": "newFileBriefDescription",
"fieldSelector": "newFileDetailedDescription",
"fieldSelector": "noticeType",
"fieldSelector": "newFileNoticeToPrepNotes",
"fieldSelector": "attorneyNewFileReviewNotes",
"fieldSelector": "noticePrepNotesForReviewer",
"fieldSelector": "noticeServiceDate",
"fieldSelector": "noticeExpirationDate",
"fieldSelector": "tenantCompliedWithNTCNTP",
"fieldSelector": "tenantVacatedPerNotice",
"fieldSelector": "nTCNTPViolationAfterNotic",
"fieldSelector": "subpoenaNonStaffWitnesses",
"fieldSelector": "actionUnder11612",
"fieldSelector": "actionUnder11611",
"fieldSelector": "actionUnder11613Curable",
"fieldSelector": "actionUnder11613Incurabl",
"fieldSelector": "actionUnder11614Subletti",
"fieldSelector": "actionUnder11614Nuisance",
"fieldSelector": "actionUnder11615",
"fieldSelector": "actionUnder11614Crime",
"fieldSelector": "actionUnder1161A",
"fieldSelector": "116115CaseType",
"fieldSelector": "194612CaseType",
"fieldSelector": "1161ACaseType",
"fieldSelector": "showMMOTerms",
"fieldSelector": "MMOVacateDate",
"fieldSelector": "MMOPaymentsIncluded",
"fieldSelector": "MMOPaymentAmount1",
"fieldSelector": "MMOPaymentDate1",
"fieldSelector": "MMORelocationPayments",
"fieldSelector": "MMOWaiverOfClaims",
"fieldSelector": "noticeIsRentOnly",
"fieldSelector": "noticeNotes",
"fieldSelector": "noticeDays",
"fieldSelector": "noticeResult",
"fieldSelector": "noticeDateSpecifiedToVacate",
"fieldSelector": "mutualTerminationAgreementT",
"fieldSelector": "secondCauseOfAction",
"fieldSelector": "includeSecondCauseOfAction",
"fieldSelector": "secondCauseOfActionType",
"fieldSelector": "secondCauseNoticeServiceDate",
"fieldSelector": "amountDemandedInNotice",
"fieldSelector": "dailyRentDamagesBegin",
"fieldSelector": "CommRentAcceptedAfterNotice",
"fieldSelector": "noticeDaysAndAmounts",
"fieldSelector": "secondCauseNoticeDaysPerform",
"fieldSelector": "secondCauseNoticeDaysVacate",
"fieldSelector": "secondCauseNoticeExhibitNum",
"fieldSelector": "noticeDaysToPayOrPerform",
"fieldSelector": "noticeDaysToVacate",
"fieldSelector": "employmentTerminationDate",
"fieldSelector": "causeOfAction",
"fieldSelector": "mMOSignedOn",
"fieldSelector": "noticeToCorrectServedPrior",
"fieldSelector": "commercialRentStillOwing",
"fieldSelector": "ourServerToServeTheNotice",
"fieldSelector": "attorneyNoticeServiceTaskList",
"fieldSelector": "sendNTCToClientToServe",
"fieldSelector": "sendNTCToClientToReview",
"fieldSelector": "noticeSubmissionAndService",
"fieldSelector": "billNTC",
"fieldSelector": "attorneyFeesNTC_1",
"fieldSelector": "billResidentialNonmonetary",
"fieldSelector": "billCommercialNonmonetary",
"fieldSelector": "uDBaseFeeResidentialNonmo",
"fieldSelector": "uDBaseFeeCommercialNonmon",
"fieldSelector": "billForMMOLetterContract",
"fieldSelector": "attorneyFeesLetterMMOCo",
"fieldSelector": "bILLING",
"fieldSelector": "billForNoticePrepOnly",
"fieldSelector": "attorneyFeesNoticeOnly",
"fieldSelector": "billForNPReviewAndPrepOnly",
"fieldSelector": "attorneyFeesNonpaymentRevi",
"fieldSelector": "billForTenantBuyOutAgreementOnly",
"fieldSelector": "attorneyFeesTenantBuyOut",
"fieldSelector": "billForServiceOfNotice",
"fieldSelector": "costsServiceOfNotice",
"fieldSelector": "isThisACaseTakeover",
"fieldSelector": "caseTakeoverAdditionalFee",
"fieldSelector": "typeOfTenancy",
"fieldSelector": "emailProcessServerRequestingPhotoOfPosting",
"fieldSelector": "operativeNotice",
"fieldSelector": "areThereNotesForTheReview",
"fieldSelector": "noticePrepperNotes",
"fieldSelector": "sendNTPToCLIENTTOSERVE",
"fieldSelector": "sendNTPToClientToReview",
"fieldSelector": "sendNTQToCLIENTTOSERVE",
"fieldSelector": "sendNTQToClientToReview",
"fieldSelector": "sendNTVToCLIENTTOSERVE",
"fieldSelector": "sendNTVToClientToReview",
"fieldSelector": "sendNTTToCLIENTTOSERVE",
"fieldSelector": "sendNTTToClientToReview",
"fieldSelector": "sendMMOToCLIENTTOSIGN",
"sectionSelector": "parties",
"sectionSelector": "pleadings",
"fieldSelector": "pleadingtype",
"fieldSelector": "hearingdate",
"fieldSelector": "notes",
"fieldSelector": "pleadingname",
"fieldSelector": "pleading",
"fieldSelector": "dateServed",
"fieldSelector": "dateFiled",
"fieldSelector": "replyDate",
"fieldSelector": "hearing",
"fieldSelector": "responseDue",
"fieldSelector": "response",
"fieldSelector": "whoOriginatedPleading",
"fieldSelector": "reply",
"fieldSelector": "responseDate",
"fieldSelector": "plaintiff",
"fieldSelector": "defendant",
"fieldSelector": "defendantAttorney",
"fieldSelector": "pleadingInformation",
"fieldSelector": "tracking",
"fieldSelector": "hearingInformation",
"fieldSelector": "hearingTime",
"fieldSelector": "aMPM",
"fieldSelector": "hearingLocation",
"fieldSelector": "hearingInstructions",
"fieldSelector": "documentManagement",
"fieldSelector": "generatePleading",
"fieldSelector": "uploadDocument",
"sectionSelector": "projectOverview",
"fieldSelector": "internalTeamAssignmentsInst",
"fieldSelector": "involvedTeamMembersOtherS",
"fieldSelector": "platformProjectTypeIfOthe",
"fieldSelector": "projectClosedDate",
"fieldSelector": "projectOpenedDate",
"fieldSelector": "projectResolvedDate",
"fieldSelector": "projectType",
"fieldSelector": "projectSummary",
"fieldSelector": "projectTypeLinePlaceholder",
"fieldSelector": "projectTypeHeader",
"fieldSelector": "teamLead",
"fieldSelector": "teamSecondary",
"fieldSelector": "propertyDetails",
"fieldSelector": "propertyName",
"fieldSelector": "propertyOwner",
"fieldSelector": "Tenant",
"fieldSelector": "nonpaymentOfRent",
"fieldSelector": "howMuchWasTheirRent",
"fieldSelector": "rentOverdue",
"fieldSelector": "noCauseTerminationsOfTenan",
"fieldSelector": "documentationForNoCauseTer",
"fieldSelector": "302",
"sectionSelector": "propertyContacts",
"fieldSelector": "propertyManager1",
"fieldSelector": "sheriffContact",
"fieldSelector": "propertyManager2",
"fieldSelector": "propertyManager3",
"fieldSelector": "additionalBillingOnlyContac",
"fieldSelector": "propertyManager4",
"fieldSelector": "regionalPropertyManager",
"fieldSelector": "managementCompany",
"fieldSelector": "pullPropertyInfoFromProperty",
"sectionSelector": "propertyInfo",
"fieldSelector": "propertyInfo",
"fieldSelector": "propJustCause",
"fieldSelector": "propertyType",
"fieldSelector": "projectJustCauseCity",
"fieldSelector": "CityJustCauseExemption",
"fieldSelector": "PremisesCity",
"fieldSelector": "PremisesCounty",
"fieldSelector": "propertyPlaintiffName",
"fieldSelector": "plaintiffEntityType",
"fieldSelector": "plaintiffHQ",
"fieldSelector": "plaintiffRightToControl",
"fieldSelector": "justCauseAndAffordableSub",
"fieldSelector": "PropertyFeeAgreementSaved",
"fieldSelector": "paintiffNameForCaseTitle",
"fieldSelector": "multiplePlaintiffs",
"fieldSelector": "propertyEntryCodeOrInstructions",
"fieldSelector": "projectTaxCreditUnit",
"fieldSelector": "projectPropertyHasAHUDSubsidy",
"fieldSelector": "hUDProgramDescription",
"fieldSelector": "projectUnitCityBelowMarket",
"fieldSelector": "projectPropertyTPAExemption",
"fieldSelector": "projectTenantProtectionActApplies",
"fieldSelector": "projectPropertyNotes",
"fieldSelector": "section8Tenancy_1",
"fieldSelector": "premisesAddressWithUnit",
"fieldSelector": "customEntityBlurb",
"fieldSelector": "plaintiffS",
"fieldSelector": "plaintiffPossessive",
"fieldSelector": "plaintiffIsAre",
"fieldSelector": "plaintiffWasWere",
"fieldSelector": "plaintiffsWasAndIsWereAndAre",
"fieldSelector": "plaintiffHasHave",
"fieldSelector": "plaintiffDoesDo",
"fieldSelector": "propertyNotes",
"fieldSelector": "plaintiffObjectSOr_",
"fieldSelector": "premisesZip",
"fieldSelector": "requestMissingPropertyEmail",
"fieldSelector": "isThePropertyInAnUnincorporatedArea",
"fieldSelector": "pullPropertyInfoFromProperty2",
"sectionSelector": "serviceInfo",
"fieldSelector": "serviceDate",
"fieldSelector": "serviceTime",
"fieldSelector": "serviceResult",
"fieldSelector": "serviceNotes",
"fieldSelector": "partiesServedPersonalService",
"fieldSelector": "partiesServedSubService",
"fieldSelector": "partiesServedPostAndMail",
"fieldSelector": "processServer",
"fieldSelector": "personServedOnBehalfOfEntity",
"fieldSelector": "serviceDateOfMailing",
"fieldSelector": "serviceAddress",
"fieldSelector": "alternateAddressForServiceAttempt",
"fieldSelector": "alternateAddressDescription",
"fieldSelector": "pushToDefendants",
"fieldSelector": "personSubServed",
"sectionSelector": "trialMotionPrep",
"fieldSelector": "trialPrep",
"fieldSelector": "sectionsToInclude",
"fieldSelector": "trialFreeStayDate",
"fieldSelector": "dailyRentDamages",
"fieldSelector": "dailyRentDamagesBegin",
"fieldSelector": "adjustedOrCurrentRent",
"fieldSelector": "holdoverMonth1",
"fieldSelector": "holdoverAmount1",
"fieldSelector": "holdoverMonth2",
"fieldSelector": "daysFromHoldoverBeginToTr",
"fieldSelector": "holdoverCalculationType",
"fieldSelector": "holdoverBasedOnDailyRentCalc",
"fieldSelector": "holdoverAmount2",
"fieldSelector": "holdoverMonth3",
"fieldSelector": "holdoverAmount3",
"fieldSelector": "holdoverMonth4",
"fieldSelector": "holdoverAmount4",
"fieldSelector": "holdoverMonth5",
"fieldSelector": "holdoverAmount5",
"fieldSelector": "holdoverMonth6",
"fieldSelector": "holdoverAmount6",
"fieldSelector": "holdoverMonth7",
"fieldSelector": "holdoverAmount7",
"fieldSelector": "holdoverMonth8",
"fieldSelector": "holdoverAmount8",
"fieldSelector": "holdoverMonth9",
"fieldSelector": "holdoverAmount9",
"fieldSelector": "amountDemandedInNotice",
"fieldSelector": "trialDateDueDate",
"fieldSelector": "subpoenaNonStaffWitnesses",
"fieldSelector": "witness1Name",
"fieldSelector": "witness1Address",
"fieldSelector": "numberOfWitnesses",
"fieldSelector": "witness2Name",
"fieldSelector": "witness2Address",
"fieldSelector": "witness3Name",
"fieldSelector": "witness3Address",
"fieldSelector": "witness4Name",
"fieldSelector": "witness4Address",
"fieldSelector": "witness5Name",
"fieldSelector": "witness5Address",
"fieldSelector": "dismissal",
"fieldSelector": "dismissAllParties",
"fieldSelector": "dismissWho",
"fieldSelector": "dismissalType",
"fieldSelector": "dismissalNotes",
"fieldSelector": "exParteApplicationForJudg",
"fieldSelector": "exParteNoticeDescription",
"fieldSelector": "descriptionOfBreach",
"fieldSelector": "representativeWhoWillSign",
"fieldSelector": "totalHoldoverDamagesToTrial",
"fieldSelector": "totalRentAndDamagesToTrial",
"fieldSelector": "amountDemandedInNotice2",
"fieldSelector": "feeLimitIncludesCosts",
"fieldSelector": "attorneyFeeNotToExceedFe",
"fieldSelector": "totalAttorneySFees",
"fieldSelector": "areTheActualFeesTheFee",
"fieldSelector": "awardableFees",
"fieldSelector": "totalCosts",
"fieldSelector": "totalJudgmentAmount",
"fieldSelector": "totalAwardableCosts",
"fieldSelector": "prepareTrialWorksheet",
"fieldSelector": "prepareJudgment",
"fieldSelector": "prepareStipulatedJudgment",
"fieldSelector": "defendantsAtIssueList",
"fieldSelector": "defendantsInDefaultList",
"fieldSelector": "trialDocs",
"fieldSelector": "prepareStipJudgmentForPos",
"fieldSelector": "stipJudgmentWithSetAside",
"fieldSelector": "prepareStipToPayStay",
"fieldSelector": "prepareStipToPayVacate",
"fieldSelector": "prepareMaskingStip",
"fieldSelector": "prepareMaskingStipWWaiver",
"fieldSelector": "stipulations",
"fieldSelector": "stipulationType",
"fieldSelector": "maskingStip",
"fieldSelector": "stipulatedJudgment",
"fieldSelector": "stipulatedJudgmentForPossession",
"fieldSelector": "stipulatedJudgmentWithSetAside",
"fieldSelector": "stipOrderPayStay",
"fieldSelector": "stipOrderPayVacate",
"fieldSelector": "IncludeDefendantPaymentsInStip",
"fieldSelector": "IncludeMaskingStipulationInStip",
"fieldSelector": "neutralReference",
"fieldSelector": "IncludeWaiverOfClaimsInStip",
"fieldSelector": "IncludePlaintiffToPayRelocationInStip",
"fieldSelector": "dailyRentDamages2",
"fieldSelector": "daysCalculator",
"fieldSelector": "prepareOtherDocument",
"fieldSelector": "randomDocumentsToPrepare",
"fieldSelector": "appForSheriffToProceedFollowingFailuretoFileCOP",
"fieldSelector": "selectCountyThatRequiresJudgment",
"fieldSelector": "prepareUD110Judgment",
"fieldSelector": "prepareDismissal",

701
examples/project_tasks.json Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,273 @@
{
"sample_request": {
"url": "https://api.filevineapp.com/fv-app/v2/ProjectTypes/34111/phases",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer eyJhbGciOiJSUzUxMiIsImtpZCI6Ijg2NjRFMkY0MDNCQjIxMzk2MzQ4NUFDOEI0MzVGMEJBOTgxNTBFN0RSUzUxMiIsInR5cCI6ImF0K2p3dCIsIng1dCI6ImhtVGk5QU83SVRsalNGckl0RFh3dXBnVkRuMCJ9.eyJuYmYiOjE3NjIzOTk2NzEsImV4cCI6MTc2MjQwMTQ3MSwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eS5maWxldmluZS5jb20iLCJhdWQiOlsiZmlsZXZpbmUudjIuYXBpIiwiZnYuYXBpLmdhdGV3YXkiLCJmdi5hdXRoIl0sImNsaWVudF9pZCI6IjRGMTg3MzhDLTEwN0EtNEI4Mi1CRkFDLTMwOEYxQjZBNjI2QSIsInN1YiI6ImY3MDQ4NGZmLTQ5MjItNDliMy05MWFkLTE2YjA5Mjk5MGIzMCIsImF1dGhfdGltZSI6MTc2MjM5OTY3MSwiaWRwIjoibG9jYWwiLCJwYXRfaWQiOiJoQll0K013VUJ4bm9xOTNYNVNUdnpyY0xwVFQ2M09HVHhudVcrZGFyZTVJPSIsInBhdF9uYW1lIjoiQnJ5Y2UgQ292ZXJ0IiwicGF0X3ZlcnNpb24iOiIxIiwidGVuYW50X2ZybiI6ImZybjpmaWxldmluZTp1cy1wcm9kOmZpbGV2aW5lLWFwcDo6OnRlbmFudFxcMGJlOGFhOGItZmEyOS00MjQ0LWI1YzItMDE5NzIzMWExNWY5IiwidGVuYW50X2lkIjoiMGJlOGFhOGItZmEyOS00MjQ0LWI1YzItMDE5NzIzMWExNWY5IiwianRpIjoiRjI1MENBNjMyRkJGNjZERjFBNDRGNkE4RUFGODkwQ0UiLCJpYXQiOjE3NjIzOTk2NzEsInNjb3BlIjpbImVtYWlsIiwiZmlsZXZpbmUudjIuYXBpLioiLCJmdi5hcGkuZ2F0ZXdheS5hY2Nlc3MiLCJmdi5hdXRoLnRlbmFudC5yZWFkIiwib3BlbmlkIiwidGVuYW50Il0sImFtciI6WyJwZXJzb25hbF9hY2Nlc3NfdG9rZW4iXX0.zBMiSHusFt5F08vjoucT4fFlKUvZ6B5WfChZvEyYs8liaWitNq1X1RqniqE3YEhaRpeSPLWwvMAwgrKwGIO806LsuWXSDdOfrZujUpGVRJ4MIjINm7423qSl_KtdH1G_WGt4wM7Qh4jJRNDsifJO0f2eM-sqGe5RSIGEigYp8B1c8Grsn-h_fgNVTjT5zJV80w1E8w2tltRpn41xBZFpJsJGSLWlj6dh0_ZeSvFzB5cKOjzjg6doWEKb27cYnyOCkvvoGZ1qmEx5_iyNdn_1sFIL1C1GxcKvY3ZlRGAbqjfT_l63E8mbJ27Lat1F1k7KoOgnOQ48XzNhWjmyoA4D8Q",
"x-fv-orgid": "9227",
"x-fv-userid": "100510"
},
"params": {},
"method": "GET"
},
"sample_response": {
"status_code": 200,
"json": {
"count": 24,
"offset": 0,
"limit": 50,
"hasMore": false,
"requestedFields": "*",
"items": [
{
"phaseId": {
"native": 209436,
"partner": null
},
"name": "Nonpayment File Review",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209437,
"partner": null
},
"name": "Attorney File Review",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209438,
"partner": null
},
"name": "Notice Preparation",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209439,
"partner": null
},
"name": "Notice Pending",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209440,
"partner": null
},
"name": "Notice Expired",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209442,
"partner": null
},
"name": "Preparing and Filing UD",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209443,
"partner": null
},
"name": "Waiting for Answer",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 209444,
"partner": null
},
"name": "Archived",
"isPermanent": true,
"links": {}
},
{
"phaseId": {
"native": 210761,
"partner": null
},
"name": "Service of Process",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211435,
"partner": null
},
"name": "Default",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211436,
"partner": null
},
"name": "Pre-Answer Motion",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211437,
"partner": null
},
"name": "Request for Trial",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211438,
"partner": null
},
"name": "Trial Prep and Trial",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211439,
"partner": null
},
"name": "Writ and Sheriff",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211440,
"partner": null
},
"name": "Lockout Pending",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211441,
"partner": null
},
"name": "Stipulation Preparation",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211442,
"partner": null
},
"name": "Stipulation Pending",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211443,
"partner": null
},
"name": "Stipulation Expired",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211446,
"partner": null
},
"name": "On Hold",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211466,
"partner": null
},
"name": "Request for Monetary Judgment",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211467,
"partner": null
},
"name": "Appeals and Post-Poss. Motions",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 211957,
"partner": null
},
"name": "Migrated",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 213691,
"partner": null
},
"name": "Close Out/ Invoicing",
"isPermanent": false,
"links": {}
},
{
"phaseId": {
"native": 213774,
"partner": null
},
"name": "Judgment After Stip & Order",
"isPermanent": false,
"links": {}
}
],
"links": {
"self": "/projecttypess/34111/sections?name=&offset=0&limit=50&requestedFields=*",
"prev": null,
"next": null
}
},
"xxx": "b'{\"count\":24,\"offset\":0,\"limit\":50,\"hasMore\":false,\"requestedFields\":\"*\",\"items\":[{\"phaseId\":{\"native\":209436,\"partner\":null},\"name\":\"Nonpayment File Review\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209437,\"partner\":null},\"name\":\"Attorney File Review\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209438,\"partner\":null},\"name\":\"Notice Preparation\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209439,\"partner\":null},\"name\":\"Notice Pending\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209440,\"partner\":null},\"name\":\"Notice Expired\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209442,\"partner\":null},\"name\":\"Preparing and Filing UD\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209443,\"partner\":null},\"name\":\"Waiting for Answer\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":209444,\"partner\":null},\"name\":\"Archived\",\"isPermanent\":true,\"links\":{}},{\"phaseId\":{\"native\":210761,\"partner\":null},\"name\":\"Service of Process\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211435,\"partner\":null},\"name\":\"Default\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211436,\"partner\":null},\"name\":\"Pre-Answer Motion\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211437,\"partner\":null},\"name\":\"Request for Trial\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211438,\"partner\":null},\"name\":\"Trial Prep and Trial\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211439,\"partner\":null},\"name\":\"Writ and Sheriff\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211440,\"partner\":null},\"name\":\"Lockout Pending\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211441,\"partner\":null},\"name\":\"Stipulation Preparation\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211442,\"partner\":null},\"name\":\"Stipulation Pending\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211443,\"partner\":null},\"name\":\"Stipulation Expired\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211446,\"partner\":null},\"name\":\"On Hold\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211466,\"partner\":null},\"name\":\"Request for Monetary Judgment\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211467,\"partner\":null},\"name\":\"Appeals and Post-Poss. Motions\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":211957,\"partner\":null},\"name\":\"Migrated\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":213691,\"partner\":null},\"name\":\"Close Out/ Invoicing\",\"isPermanent\":false,\"links\":{}},{\"phaseId\":{\"native\":213774,\"partner\":null},\"name\":\"Judgment After Stip & Order\",\"isPermanent\":false,\"links\":{}}],\"links\":{\"self\":\"/projecttypess/34111/sections?name=&offset=0&limit=50&requestedFields=*\",\"prev\":null,\"next\":null}}'",
"headers": {
"Date": "Thu, 06 Nov 2025 03:27:52 GMT",
"Content-Type": "application/json; charset=utf-8",
"Transfer-Encoding": "chunked",
"Connection": "keep-alive",
"Server": "cloudflare",
"access-control-allow-headers": "Content-Type, x-fv-orgid, x-fv-clientip, x-fv-userid, authorization, x-fv-application",
"access-control-allow-methods": "GET, POST, PUT, PATCH, DELETE, OPTIONS, LOCK, UNLOCK, PROPPATCH, PROPFIND",
"access-control-allow-origin": "*",
"Cache-Control": "no-store, must-revalidate, no-cache, max-age=0, private",
"ratelimit-limit": "10;r=3300;w=60;c=Customer Temp",
"ratelimit-remaining": "8;r=3300;w=60;c=Customer Temp",
"content-security-policy": "default-src 'self';child-src https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://app.vinesign.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com *.amazonaws.com https://app.pendo.io https://feedback.us.pendo.io docs.google.com https://feedback.filevine.com *.newrelic.com *.filev.io *.flvn.io filev.io flvn.io 'self';connect-src *.filevinedev.com *.filevineapp.com *.filevine.ca *.filevine.com *.filevinegov.com *.fvauth.com https://app.vinesign.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com *.amazonaws.com *.nr-data.net *.pendo.io *.pdftron.com *.typeform.com *.newrelic.com https://app.pendo.io https://data.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://localhost:8080 *.filev.io *.flvn.io filev.io flvn.io 'self' blob: wss:;font-src *.bootstrapcdn.com fonts.gstatic.com *.typekit.net *.typeform.com 'self' data: blob:;frame-src *;frame-ancestors https://*.filevineapp.com https://app.pendo.io 'self';img-src *.typekit.net *.typeform.com https://app.pendo.io https://cdn.pendo.io https://data.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-images.s3.us-west-2.amazonaws.com https://fv-globalproducts-prod-us-logos.s3.us-west-2.amazonaws.com https://us.fv-globalproducts-logos.prod.filevine.com https://fv-prod-us-shard-h-fv-internal-image.s3.amazonaws.com https://fv-prod-us-shard-h-fv-internal-image.s3.us-west-2.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com *.filev.io *.flvn.io filev.io flvn.io *.kaywa.com www.googletagmanager.com 'self' data: blob: cid:;manifest-src 'self';media-src https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-images.s3.us-west-2.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com https://us-shard-h-discussions.filevineapp.com *.filev.io *.flvn.io filev.io flvn.io 'self';object-src https://fv-prod-us-shard-h-images.s3.amazonaws.com https://fv-prod-us-shard-h-images.s3.us-west-2.amazonaws.com https://fv-prod-us-shard-h-docs.s3.amazonaws.com https://fv-prod-us-shard-h-docs.s3.us-west-2.amazonaws.com https://medchron-results-prod.s3.amazonaws.com https://medchron-results-prod.s3.us-east-1.amazonaws.com https://fv-prod-us-shard-h-report-export.s3.us-west-2.amazonaws.com *.filev.io *.flvn.io filev.io flvn.io 'self';script-src *.bootstrapcdn.com *.typekit.net *.typeform.com *.newrelic.com *.nr-data.net https://app.pendo.io https://cdn.pendo.io https://data.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://duuxdetkhlwyv.cloudfront.net https://code.jquery.com https://localhost:8080 https://www.googletagmanager.com 'unsafe-inline' 'unsafe-eval' 'self' blob:;style-src *.bootstrapcdn.com fonts.googleapis.com *.typekit.net *.typeform.com https://app.pendo.io https://pendo-static-5683967597215744.storage.googleapis.com https://pendo-io-static.storage.googleapis.com https://duuxdetkhlwyv.cloudfront.net https://cdn.pendo.io https://data.pendo.io 'unsafe-inline' 'self';worker-src 'self' blob: 'unsafe-inline'",
"x-filevine-api-version": "3.3487.15.0",
"x-fv-correlation-id": "af523cb9727b41c188375c0df071e2bb",
"x-aspnet-version": "4.0.30319",
"x-powered-by": "ASP.NET",
"x-content-type-options": "nosniff",
"x-frame-option": "SAMEORIGIN",
"x-xss-protection": "1; mode=block",
"x-fv-gateway-correlation-id": "af523cb9727b41c188375c0df071e2bb",
"cf-cache-status": "DYNAMIC",
"Content-Encoding": "gzip",
"CF-RAY": "99a17f5c48330879-SEA",
"alt-svc": "h3=\":443\"; ma=86400"
}
}
}

View File

@@ -193,6 +193,35 @@ REQUESTS = [
},
"examples/forms__newFileReview.json"
),
(
{
"url": f"https://api.filevineapp.com/fv-app/v2/Projects/{SAMPLE_PROJECT_ID}/tasks",
"headers": {
"Accept": "application/json",
"Authorization": f"Bearer {get_bearer_token()}",
"x-fv-orgid": os.environ.get("FILEVINE_ORG_ID"),
"x-fv-userid": os.environ.get("FILEVINE_USER_ID"),
},
"params": {},
"method": "GET"
},
"examples/project_tasks.json"
),
(
{
"url": f"https://api.filevineapp.com/fv-app/v2/ProjectTypes/{SAMPLE_PROJECT_TYPE}/phases",
"headers": {
"Accept": "application/json",
"Authorization": f"Bearer {get_bearer_token()}",
"x-fv-orgid": os.environ.get("FILEVINE_ORG_ID"),
"x-fv-userid": os.environ.get("FILEVINE_USER_ID"),
},
"params": {},
"method": "GET"
}, "examples/project_type_pahe_list.json"
)
]

View File

@@ -6,6 +6,8 @@
<title>{{ title or 'App' }}</title>
<!-- Tailwind (CDN for demo; consider self-hosting for prod) -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Alpine.js -->
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
</head>
<body class="min-h-screen bg-slate-50 text-slate-900">
<header class="border-b bg-white">

View File

@@ -1,7 +1,7 @@
{% extends 'base.html' %}
{% block content %}
<h1 class="text-xl font-semibold mb-4">Projects for {{ case_email }}</h1>
<div class="bg-white shadow rounded-2xl overflow-scroll">
<div class="bg-white shadow rounded-2xl overflow-auto" style="height: calc(100vh - 200px);">
<table class="w-full">
<thead class="bg-slate-100 text-left text-sm">
<tr>
@@ -21,7 +21,7 @@
<th class="px-4 py-3">2nd Staff person currently in charge of your case, with contact info</th>
<th class="px-4 py-3">Link to Hona Portal</th>
<th class="px-4 py-3">Matter Stage</th>
<th class="px-4 py-3">Completed Tasks</th>
<th class="px-4 py-3 w-[500px]">Completed Tasks</th>
<th class="px-4 py-3">Pending Tasks</th>
<th class="px-4 py-3">Notice Service Date</th>
<th class="px-4 py-3">Notice Expir. Date</th>
@@ -69,6 +69,128 @@
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm">{{ r.notice_type }}</td>
<td class="px-4 py-3 text-sm">{{ r.case_number }}</td>
<td class="px-4 py-3 text-sm">{{ r.premises_address }}</td>
<td class="px-4 py-3 text-sm">{{ r.premises_city }}</td>
<td class="px-4 py-3 text-sm">
<div class="flex"></div>
<div class="rounded-2xl bg-red-50 text-red-900 p-2 text-xs">???</div>
</div>
</td>
<td class="px-4 py-3 text-sm">
{% if r.responsible_attorney %}
<div class="flex gap-4">
<div
class="relative rounded-full bg-green-100 w-12 h-12 inline-flex items-center justify-center text-strong-600 font-semibold text-sm border border-green-200 shadow-sm">
<span>{{- r.responsible_attorney.initials}}</span>
</div>
<div>{{ r.responsible_attorney.fullname }}</div>
</div>
{% endif %}
</td>
<td class="px-4 py-3 text-sm">
<div class="flex gap-4">
{% if r.staff_person %}
<div class="flex gap-4">
<div
class="relative rounded-full bg-green-100 w-12 h-12 inline-flex items-center justify-center text-strong-600 font-semibold text-sm border border-green-200 shadow-sm">
<span>{{- r.staff_person.initials}}</span>
</div>
<div>{{ r.staff_person.fullname }}</div>
</div>
{% endif %}
<div class="rounded-2xl bg-red-50 text-red-900 p-2 text-xs">???</div>
</div>
</td>
<td class="px-4 py-3 text-sm">
<div class="flex">
<div class="rounded-2xl bg-red-50 text-red-900 p-2 text-xs">???</div>
</div>
</td>
<td class="px-4 py-3 text-sm">
<div class="flex"></div>
<div class="rounded-2xl bg-red-50 text-red-900 p-2 text-xs">???</div>
</div>
</td>
<td class="px-4 py-3 text-sm"> {{ r.phase_name }}</td>
<td class="px-4 py-3 text-sm min-w-[500px] align-top" x-data="{ showCompletedModal: false }">
{% if r.completed_tasks %}
<div>
<ul class="list-disc list-inside align-top">
{% for x in r.completed_tasks[:2] %}
<li>{{ x }}</li>
{% endfor %}
</ul>
{% if r.completed_tasks|length > 2 %}
<button @click="showCompletedModal = true" class="text-blue-500 hover:text-blue-700 text-sm mt-1">Show more...</button>
{% endif %}
</div>
<!-- Modal for completed tasks -->
<div x-show="showCompletedModal"
x-transition
class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50"
@click.self="showCompletedModal = false">
<div class="bg-white rounded-lg p-6 max-w-lg w-full max-h-[80vh] overflow-y-auto">
<div class="flex justify-between items-center mb-4">
<h3 class="text-lg font-semibold">Completed Tasks</h3>
<button @click="showCompletedModal = false" class="text-gray-500 hover:text-gray-700">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
</svg>
</button>
</div>
<ul class="list-disc list-inside">
{% for x in r.completed_tasks %}
<li>{{ x }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endif %}
</td>
<td class="px-4 py-3 text-sm min-w-[500px] align-top" x-data="{ showPendingModal: false }">
{% if r.pending_tasks %}
<div>
<ul class="list-disc list-inside align-top">
{% for x in r.pending_tasks[:2] %}
<li>{{ x }}</li>
{% endfor %}
</ul>
{% if r.pending_tasks|length > 2 %}
<button @click="showPendingModal = true" class="text-blue-500 hover:text-blue-700 text-sm mt-1">Show more...</button>
{% endif %}
</div>
<!-- Modal for pending tasks -->
<div x-show="showPendingModal"
x-transition
class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50"
@click.self="showPendingModal = false">
<div class="bg-white rounded-lg p-6 max-w-lg w-full max-h-[80vh] overflow-y-auto">
<div class="flex justify-between items-center mb-4">
<h3 class="text-lg font-semibold">Pending Tasks</h3>
<button @click="showPendingModal = false" class="text-gray-500 hover:text-gray-700">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
</svg>
</button>
</div>
<ul class="list-disc list-inside">
{% for x in r.pending_tasks %}
<li>{{ x }}</li>
{% endfor %}
</ul>
</div>
</div>
{% endif %}
</td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
@@ -101,18 +223,7 @@
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm"></td>
<td class="px-4 py-3 text-sm">{{ r.service_attempt_date_1}}</td>
</tr>
{% else %}
<tr>