XML 76 R61.htm IDEA: XBRL DOCUMENT
v3.24.2

SCHEDULE OF INFORMATION RELATED TO OPTIONS OUTSTANDING AND EXERCISABLE (Details) | 12 Months Ended
--- | ---
Dec. 31, 2023 $ / shares shares
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Exercise price range, Option outstanding, shares | 706,167
Exercise price range, Option exercisable, shares | 611,167
Exercise Price Range 1 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 1.68
Exercise price range, Option outstanding, shares | 50,000
Exercisable, weighted average remaining life (years) | 6 years 2 months 12 days
Exercise price range, Option exercisable, shares | 50,000
Exercise Price Range 2 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 3.17
Exercise price range, Option outstanding, shares | 27,000
Exercisable, weighted average remaining life (years) | 8 years 4 months 24 days
Exercise price range, Option exercisable, shares | 27,000
Exercise Price Range 3 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 3.31
Exercise price range, Option outstanding, shares | 221,667
Exercisable, weighted average remaining life (years) | 7 years 4 months 24 days
Exercise price range, Option exercisable, shares | 221,667
Exercise Price Range 4 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 3.68
Exercise price range, Option outstanding, shares | 5,000
Exercisable, weighted average remaining life (years) | 2 years 2 months 12 days
Exercise price range, Option exercisable, shares | 5,000
Exercise Price Range 5 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 5.25
Exercise price range, Option outstanding, shares | 70,000
Exercisable, weighted average remaining life (years) | 0 years
Exercise price range, Option exercisable, shares |
Exercise Price Range 6 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 5.60
Exercise price range, Option outstanding, shares | 6,000
Exercisable, weighted average remaining life (years) | 4 years 3 months 18 days
Exercise price range, Option exercisable, shares | 6,000
Exercise Price Range 7 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 6.10
Exercise price range, Option outstanding, shares | 10,000
Exercisable, weighted average remaining life (years) | 0 years
Exercise price range, Option exercisable, shares |
Exercise Price Range 8 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 7.25
Exercise price range, Option outstanding, shares | 5,000
Exercisable, weighted average remaining life (years) | 0 years
Exercise price range, Option exercisable, shares |
Exercise Price Range 9 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 7.30
Exercise price range, Option outstanding, shares | 236,000
Exercisable, weighted average remaining life (years) | 3 years 2 months 12 days
Exercise price range, Option exercisable, shares | 236,000
Exercise Price Range 10 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 7.49
Exercise price range, Option outstanding, shares | 2,500
Exercisable, weighted average remaining life (years) | 9 years 6 months
Exercise price range, Option exercisable, shares | 2,500
Exercise Price Range 11 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 7.61
Exercise price range, Option outstanding, shares | 2,500
Exercisable, weighted average remaining life (years) | 0 years
Exercise price range, Option exercisable, shares |
Exercise Price Range 12 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 8.27
Exercise price range, Option outstanding, shares | 5,000
Exercisable, weighted average remaining life (years) | 0 years
Exercise price range, Option exercisable, shares |
Exercise Price Range 13 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 8.50
Exercise price range, Option outstanding, shares | 2,500
Exercisable, weighted average remaining life (years) | 0 years
Exercise price range, Option exercisable, shares |
Exercise Price Range 14 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 8.98
Exercise price range, Option outstanding, shares | 6,000
Exercisable, weighted average remaining life (years) | 1 year 2 months 12 days
Exercise price range, Option exercisable, shares | 6,000
Exercise Price Range 15 [Member] |
Share-Based Payment Arrangement, Option, Exercise Price Range [Line Items] |
Options outstanding, Exercise price | $ / shares | $ 10.21
Exercise price range, Option outstanding, shares | 57,000
Exercisable, weighted average remaining life (years) | 2 months 12 days
Exercise price range, Option exercisable, shares | 57,000

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(iii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1)(i)-(ii) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average remaining contractual term of exercisable stock options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 718 -SubTopic 10 -Subparagraph (e)(2) -Name Accounting Standards Codification -Paragraph 2 -Section 50 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2 + Details
Name: | us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange1Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange2Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange3Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange4Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange5Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange6Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange7Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange8Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange9Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange10Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange11Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange12Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange13Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange14Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis=PPSI_ExercisePriceRange15Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |